home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / rbbs / rbbs_mpl.zip / M-PC0705.MRG < prev    next >
Text File  |  1992-07-05  |  82KB  |  2,318 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against E:\RBBS\STOCK\RBBS-PC.BAS to produce E:\RBBS\CHAT\RBBS-PC.BAS
  3. * E:\RBBS\STOCK\RBBS-PC.BAS:  Date 6-20-1992  Size 147219 bytes
  4. * ------------[ Created 07-05-1992 07:14:37 ]------------
  5. * REPLACING old line(s) by new
  6. 29 ' **************************************************************************
  7.    '
  8.    ' $INCLUDE: 'RBBS-VAR.BAS'
  9.    '
  10.    ' $SUBTITLE: 'Main-line RBBS-PC Program'
  11.     ZCrLf$ = CHR$(13) + CHR$(10)
  12.     WasJ = 60
  13.     DIM ZOptSec(WasJ)
  14.     ZConfigFileName$ = "RBBS-PC.DEF"
  15.     CALL GetCommand (ZDebug,ZNetTime$,ZNetBaud$,ZNetReliable$)
  16.     ZSubParm = -62
  17.     ZBulletinMenu$ = ""
  18.     CALL ReadDef (ZConfigFileName$)
  19.     IF ZErrCode > 0 THEN _
  20.        GOTO 31
  21. * ------[ first line different ]------
  22.     GOTO 100
  23. * REPLACING old line(s) by new
  24. 100 CLEAR,,ZSizeOfStack
  25. * ------[ first line different ]------
  26.     ZANSITest = ZFalse                                               ' DD062801/ANSICHAT
  27.     CALL VarInit
  28.     IF ZErrCode > 0 THEN _
  29.        GOTO 31
  30.     OrigUpgradeSec = ZAutoUpgradeSec
  31.     OrigMainSec = ZMinLogonSec
  32.     CALL BreakFileName (ZOrigMsgFile$,Drive$,OrigMsgName$,ZWasY$,ZFalse)
  33.     IF OrigMsgName$ = "MESSAGES" THEN _
  34.        OrigMsgName$ = "MAIN" _
  35.     ELSE IF RIGHT$(OrigMsgName$,1) = "M" THEN _
  36.             OrigMsgName$ = LEFT$(OrigMsgName$,LEN(OrigMsgName$)-1)
  37.     ConfFileName$ = OrigMsgName$
  38.     OrigNewsFileName$ = ZWelcomeFileDrvPath$ + _
  39.               OrigMsgName$ + ".NWS"
  40.     ZNewsFileName$ = OrigNewsFileName$
  41.     IF ZNetMail$ <> "NONE" AND VAL(ZNetTime$) > 0 THEN _
  42.        ZLimitMinsPerSession = VAL(ZNetTime$)
  43.     IF ZNetMail$ <> "NONE" AND VAL(ZNetBaud$) > 0 THEN _
  44.        ZExpectActiveModem = ZTrue : _
  45.         IF NOT ZKeepInitBaud THEN _
  46.           ZModemInitBaud$ = ZNetBaud$
  47.         IF ZFossil THEN _
  48.        ZComPort = VAL(RIGHT$(ZComPort$,1)) - 1 : _
  49.        IF ZComPort < 0 THEN _
  50.           GOTO 108 _
  51.        ELSE CALL FOSinit(ZComPort,Result) : _
  52.             IF Result = -1 THEN _
  53.                ZSnoop = ZTrue : _
  54.                CALL PScrn("ERROR INITIALIZING FOSSIL") : _
  55.                GOTO 204
  56. * REPLACING old line(s) by new
  57. 108 CALL BreakFileName (ZCallersFile$,Drive$,WasX$,ZWasY$,ZTrue)
  58.     ZCallersFilePrefix$ = WasX$
  59.     ZNodeWorkDrvPath$ = Drive$
  60.     ZArcWork$ = ZNodeWorkDrvPath$ + _
  61.                 "ARCWORK" + _
  62.                 ZNodeFileID$ + _
  63.                 ".DEF"
  64.     IF ZUseBASICWrites THEN _
  65.        ZLocalBksp$ = ZBackArrow$ _
  66.     ELSE ZLocalBksp$ = ZBackSpace$
  67.     ZSysopFullName$ = LEFT$(ZSysopFirstName$ + " " + ZSysopLastName$ + "  ",22)
  68.     ZFastFileSearch = ZFalse
  69.     CALL FindIt (ZFastFileList$)
  70.     IF ZOK THEN _
  71.        CALL FindIt (ZFastFileLocator$) : _
  72.        IF ZOK THEN _
  73.           ZFastFileSearch = ZTrue : _
  74.           CALL BreakFileName (ZFastFileList$, Drive$,WasX$,ZWasY$,ZTrue) : _
  75.           ZFileName$ = Drive$ + WasX$ + "T" + ZWasY$ : _
  76.           CALL FindIt (ZFileName$) : _
  77. * ------[ first line different ]------
  78.           IF ZOK THEN _
  79.              CALL OpenRSeq (ZFileName$, WasX, WasY, 72) : _
  80.              FIELD 2, 72 AS IndexRec$ : _
  81.              GET 2, 1 : _
  82.              ZFastTabs$ = IndexRec$ : _
  83.              CLOSE 2 _
  84.           ELSE ZFastTabs$ = ""
  85. '
  86. ' *****  INITIALIZE NetBIOS INTERFACE   ****
  87. '
  88.    IF ZNetworkType = 6 AND NOT ZSubBoard THEN _
  89.       CALL InitIBM
  90. '
  91. ' *****  ESTABLISH NEXT CALLERS FILE RECORD AVAILABLE   ***
  92. '
  93.     CALL SetCall
  94. * REPLACING old line(s) by new
  95. 150 IF ZSubBoard THEN _
  96.        GOSUB 12987 : _
  97.        GOSUB 5135 : _
  98.        GOTO 170
  99.     ZSysopAvail = VAL(MID$(ZMsgRec$,32,2))
  100.     ZSysopAnnoy = VAL(MID$(ZMsgRec$,34,2))
  101.     ZSysopNext = VAL(MID$(ZMsgRec$,36,2))
  102.     MID$(ZMsgRec$,36,2) = STR$(ZFalse)
  103.     ZPrinter = VAL(MID$(ZMsgRec$,38,2))
  104.     IF ZTurnPrinterOff THEN _
  105.        ZPrinter = ZFalse
  106.     ZExitToDoors = (MID$(ZMsgRec$,40,2) = "-1" AND ZNetBaud$ = "" _
  107.                     AND INSTR(COMMAND$," LOCAL") = 0)
  108.     ZEightBit = VAL(MID$(ZMsgRec$,42,2))
  109. * ------[ first line different ]------
  110.     ZBPS = VAL(MID$(ZMsgRec$,44,2))
  111.     ZSnoop = VAL(MID$(ZMsgRec$,58,2))
  112.     MID$(ZMsgRec$,57,1) = "I"
  113.     ZPrivateDoor = (MID$(ZMsgRec$,72,2) = "-1")
  114.     IF ZPrivateDoor THEN _
  115.        ZHasPrivDoor = ZTrue
  116.     MID$(ZMsgRec$,72,2) = STR$(ZFalse)
  117.     ZLocalUser = (MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$) OR _
  118.                  ZLocalUserMode
  119.     IF ZExitToDoors OR ZPrivateDoor THEN _
  120.        ZHasDoored = ZTrue : _
  121.        ZTurboLogon = ZTrue
  122.     PUT 1,ZNodeRecIndex
  123.     GOSUB 12985
  124.     GET 1,1
  125.     CallsToDate! = VAL(MID$(ZMsgRec$,11,10))
  126.     IF CallsToDate! < 11 THEN _
  127.        CALL CopyRight
  128. '
  129. * DELETING old line(s)
  130. 160
  131. * REPLACING old line(s) by new
  132. 175 GOSUB 5344
  133.     CALL CountLines (MaxEntries)
  134.     REDIM ZCategoryName$(MaxEntries),ZCategoryCode$(MaxEntries),_
  135.           ZCategoryDesc$(MaxEntries)
  136.     CALL InitFMS (ZNumCategories)
  137.     ZMaxMsgLines = ZMaxMsgLinesDef
  138.     IF (NOT ZLocalUser) AND (NOT ZSubBoard) THEN _
  139.        CALL OpenCom (ZModemInitBaud$,",N,8,1")
  140.     IF NOT ZSubBoard THEN _
  141.        CALL SetEcho (ZDefaultEchoer$)
  142.     ZNodeWorkFile$ = ZNodeWorkDrvPath$ + _
  143.                       "NODE" + _
  144.                       ZNodeFileID$ + _
  145.                       "WRK"
  146. * ------[ first line different ]------
  147.     ZBatchWorkFile$ = ZNodeWorkDrvPath$ + _   'Pe BatchUp mod
  148.                       "NODE" + _              'Pe BatchUp mod
  149.                       ZNodeFileID$ + _        'Pe BatchUp mod
  150.                       "BCH"                   'Pe BatchUp mod
  151.     ZSecsPerSession! = ZMinsPerSession * 60!
  152.     LogIndex = 1
  153.     IF NOT ZLocalUserMode THEN _
  154.        IF NOT ZExitToDoors THEN _
  155.           GOTO 180 _
  156.        ELSE IF NOT ZLocalUser THEN _
  157.                GOTO 180
  158.     ZLocalUser = ZTrue
  159.     ZBPS = -7
  160.     ZBaudTest! = 9600
  161.     ZCBaud$ = "9600"
  162.     ZCBPS = -7
  163.     ZEightBit = ZTrue
  164.     ZSnoop = ZTrue
  165.     IF ZExitToDoors THEN _
  166.        CALL AMorPM : _
  167.        CALL ReadProf : _
  168.        GOTO 410
  169.     GOSUB 178
  170.     GOTO 345
  171. * REPLACING old line(s) by new
  172. 178 IF NOT ZSubBoard THEN _
  173.        RETURN
  174.     IF ZNewUser THEN _
  175.        GOSUB 758
  176. * ------[ first line different ]------
  177.        IF OrigFirstName$ = ZSysopFirstName$ AND _                 'Dgs-ALias
  178.           ZLastName$ = ZSysopLastName$ THEN _
  179.              RETURN 832 _
  180.        ELSE RETURN 790
  181. * REPLACING old line(s) by new
  182. 202 ZFF = -ZSubParm
  183.     ON ZFF GOTO 10595, _   '  -1 = CARRIER DROPPED
  184.                  4770, _   '  -2 = SYSOP INITIATED CHAT
  185.                   205, _   '  -3 = FORCE SYSTEM TO ANSWER THE PHONE
  186.                   204, _   '  -4 = EXIT TO DOS IMMEDIATELY
  187. * ------[ first line different ]------
  188.                   204, _   '  -5 = EXIT TO DOS AFTER CLEAN-UP      'Pe 06/25/92
  189.                 10698, _   '  -6 = INDICATE ACCESS IS DENIED AND LOGOFF USER
  190.                 10620      '  -7 = UPDATE CALLERS FILE AND LOGOFF USER
  191. * DELETING old line(s)
  192. 203
  193. * REPLACING old line(s) by new
  194. 206 CALL TimedOut
  195. * ------[ first line different ]------
  196.     GOTO 204                                                   'Pe 06/25/92
  197. * REPLACING old line(s) by new
  198. 346 GOSUB 466
  199.     IF ZSubParm = -1 THEN _
  200.        GOTO 13540
  201.     ZFF = ZFalse
  202. * ------[ first line different ]------
  203. '********** Delete all the files in ARKVIEW.PATH$ **********
  204. '***********************************************************
  205. 'First create a Dummy file so the directory is not empty. It
  206. 'avoids having to use an ON ERROR routine if the directory
  207. 'is empty. Then just kill everything in the ARKVIEW.PATH$
  208. '***********************************************************
  209. CALL OpenOutW (ZArkViewPath$ + "DANDAN.DAN")
  210.     CLOSE 2
  211.   CALL KillWork (ZArkViewPath$ + "*.*")
  212. '
  213. '
  214. '
  215. ' *****  GET USER NAME
  216. ' *****  C - COMMAND FROM NEWUSER REGISTER OPTIONS (CHANGE NAME OR ADDRESS)
  217. '
  218. * REPLACING old line(s) by new
  219. 400 CALL SkipLine(1)
  220.     ZEscapeInsecure = ZFalse
  221.     ZUpperCase = ZFalse
  222.     CALL SetExpert
  223.     WasA1$ = "What is your "
  224.     CALL FlushCom (ZWasDF$)
  225.     GOSUB 12500
  226.     CALL CommInfo
  227.     IF ZFF THEN _
  228.        ZLogonErrorIndex = 1 : _
  229.        GOTO 10620
  230.     IF ZMinOldCallerBaud > ZBaudTest! THEN _
  231.        CALL QuickTPut1 ("Sorry," + STR$(ZBaudTest!) + " BPS not allowed") : _
  232.        ZWasLG$(7) = "OLD CALLER BAUD RESTRICTION" : _
  233.        ZLogonErrorIndex = 7 : _
  234.        GOTO 10620
  235.     LogIndex = 4 - (ZLenIndiv > 0 AND ZStartIndiv > 0)
  236. * ------[ first line different ]------
  237.     ZTurboLogon = (LEFT$(ZUserIn$(LogIndex),1) = "!")
  238.     SkipWelcomeScreen = (LEFT$(ZUserIn$(LogIndex),1) = "$")
  239.  
  240. '    ZHomeConf$ = RIGHT$(ZUserIn$(LogIndex),LEN(ZUserIn$(LogIndex)) _
  241. '                     + (ZTurboLogon OR SkipWelcomeScreen))
  242. '    CALL AllCaps(ZHomeConf$)
  243. ' Pe Test
  244.  
  245. '
  246. ' *****  CHECK IF SAME USER ON ANOTHER NODE   ***
  247. '
  248. * REPLACING old line(s) by new
  249. 420 IF MID$(ZMsgRec$,57,1) = "A" THEN _
  250.        ZLogonErrorIndex = 6 : _
  251.        ZWasLG$(6) = ZWasLG$(6) + _
  252.                 LEFT$(ZMsgRec$,25) : _
  253.        ZOutTxt$ = "The name '" + ZActiveUserName$ + _
  254.                   "' is in use on another node" : _
  255.        CALL RingCaller : _
  256.        GOTO 10620
  257.     ZFirstName$ = LEFT$(ZMsgRec$,INSTR(ZMsgRec$, " ") - 1)
  258.     IF NOT ZPrivateDoor THEN _
  259.        CALL SkipLine (1) : _
  260. * ------[ first line different ]------
  261.        CALL QuickTPut1 (ZFirstName$ + ", welcome back!")
  262. '       CALL Talk (11,ZOutTxt$)
  263.     IF ZExitToDoors THEN _
  264.        GOTO 457
  265. '
  266. ' *****  TEST FOR REMOTE SYSOP LOGGING ON   ***
  267. '
  268. * REPLACING old line(s) by new
  269. 462 IF ZRestrictByDate AND ZDaysInRegPeriod > 0 THEN _
  270.        CALL CompDate (ZUserRegYY,ZUserRegMM,ZUserRegDD,UserComputeDate!) : _
  271.        ZRegDaysRemaining = UserComputeDate! + _
  272.                             ZDaysInRegPeriod - _
  273.                             TodayComputeDate! : _
  274.        CALL ExpireDate (UserComputeDate!,ZDaysInRegPeriod,ZExpirationDate$) _
  275.     ELSE ZDaysInRegPeriod = 0
  276.     IF NOT ZPrivateDoor THEN _
  277.        IF ZRegDaysRemaining < 0 AND ZDaysInRegPeriod > 0 THEN _
  278.        IF ZUserSecLevel > ZTempExpiredSec THEN _
  279.           CALL QuickTPut1 (ZWasLG$(9) + _
  280. * ------[ first line different ]------
  281.                       " - security level set to " + _
  282.                       STR$(ZTempExpiredSec)) : _
  283.           CALL BufFile(ZHelpPath$+"RGXPIRD"+ZHelpExtension$,WasX) : _
  284.           ZLogonErrorIndex = 9 : _
  285.           ZUserSecLevel = ZTempExpiredSec : _
  286.           LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  287.           GOSUB 5135
  288.     RETURN
  289. '
  290. ' ***  DISPLAY LOG-ON MESSAGE FOR SPECIFIC SECURITY LEVEL  **
  291. '
  292. * REPLACING old line(s) by new
  293. * ------[ first line different ]------
  294. 465 ZTurboLogon = ZTurboLogon AND (ZExitToDoors OR _
  295.                   (ZUserSecLevel >= ZAllowCallerTurbo))
  296.     IF ZTurboLogon THEN _
  297.        RETURN
  298.     ZFileName$ = ZWelcomeFileDrvPath$ + _
  299.                  "LG" + _
  300.                  UserSecLevel$ + _
  301.                  ".DEF"
  302. * REPLACING old line(s) by new
  303. 480 CALL SetSysOp
  304. * ------[ first line different ]------
  305. '    IF ZPrivateDoor OR (ZWasA AND ZEscapeInsecure) OR ZDoorSkipsPswd
  306. IF ZPrivateDoor OR (ZWasA AND ZEscapeInsecure) OR ZExitToDoors THEN _ 'Pe 01/03/90
  307.        ZWasZ$ = ZPswdSave$ : _
  308.        ZPswdFailed = 0 : _
  309.        GOTO 644
  310.     ZSubParm = 4
  311.     CALL PassWrd
  312.     LogonPswdFailed = ZPswdFailed
  313.     ZAnsIndex = LogIndex
  314. * REPLACING old line(s) by new
  315. 660 GOTO 800
  316. * REPLACING old line(s) by new
  317. 700 ZExpertUser = ZFalse
  318.     CALL SetExpert
  319.     IF ZMinNewCallerBaud > ZBaudTest! THEN _
  320.        CALL QuickTPut ("Sorry," + STR$(ZBaudTest!) + _
  321.                        " BPS only for registered users",1) : _
  322.        ZWasLG$(7) = "NEW CALLER BAUD RESTRICTION" : _
  323.        ZLogonErrorIndex = 7 : _
  324.        GOTO 10620
  325.     CALL QuickTPut1 ("User not found")
  326.     ZLastIndex = 0
  327.     GOSUB 12558
  328.     IF ZNo THEN _
  329.        GOSUB 13700 : _
  330.        GOTO 400
  331.     CALL Line25
  332.     ZWasZ$ = ZFirstName$
  333.     GOSUB 670
  334.     ZWasZ$ = ZLastName$
  335.     GOSUB 670
  336.     ZWasZ$ = ZActiveUserName$
  337.     GOSUB 670
  338. * ------[ first line different ]------
  339.     ZTurboLogon = ZFalse
  340. * REPLACING old line(s) by new
  341. 725 IF ZUserSecLevel < ZMinLogonSec THEN _
  342.        ZLogonErrorIndex = 1 : _
  343.        GOTO 460
  344.     IF ZFirstName$ = ZLastName$ THEN _
  345.        CALL QuickTPut1 (ZFirstNamePrompt$+"/"+ZLastNamePrompt$+" cannot be same") : _
  346.        ZLogonErrorIndex = 3 : _
  347.        GOTO 10620
  348.     IF NOT ZRememberNewUsers THEN _
  349.        GOSUB 13700 : _
  350.        ZUserFileIndex = 0 : _
  351.        GOSUB 12960: _
  352.        PrevLastOn$ = "00-00-00": _
  353.        GOTO 735
  354.     ZNewUser = ZTrue
  355. * ------[ first line different ]------
  356.     ZNewUserDGS = ZTrue                                           'DGS-NEW
  357.     CALL OpenUser (ZHighestUserRecord)
  358.     GOSUB 9450
  359.     GOSUB 12630
  360.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = LEFT$("NEWUSER",ZLenHash)
  361.     IF ZStartIndiv > 0 THEN _
  362.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  363.     GOSUB 9440
  364. * REPLACING old line(s) by new
  365. * ------[ first line different ]------
  366. 760 LastIndex = 0
  367.     GOSUB 755
  368.     CALL AllCaps (ZWasZ$)
  369.     LSET ZPswd$ = ZWasZ$
  370.     ZUserTextColor = 37
  371.     ZTempSecLevel = ZUserSecLevel
  372.     CALL Protocol
  373.     ZUserXferDefault$ = "N"
  374.     ZProtoPrompt$ = "None"
  375.     IF ZNewUserSetsDefaults THEN _
  376.        ZBypassTimeCheck = ZTrue : _
  377.        GOSUB 43000 : _
  378.        ZBypassTimeCheck = ZFalse : _
  379.        CALL Graphic (ZFileName$) : _
  380.        GOSUB 42805 : _
  381.        GOSUB 42700 _
  382.     ELSE ZUpperCase = ZFalse : _
  383.          ZNulls = ZFalse
  384.     ZPageLength = ZPageLengthDef
  385.     CALL SetNewUserDef
  386.     GOSUB 5135
  387.     CALL DefaultU
  388. * REPLACING old line(s) by new
  389. 800 IF ZAdjustedSecurity THEN _
  390.        GOSUB 5135
  391.     IF ZOrigCnfg$ = ZCurDef$ THEN _
  392.        ZMainUserFileIndex = ZUserFileIndex : _
  393.        ZOrigSec = ZUserSecLevel : _
  394.        ZUserSecSave = ZUserSecLevel : _
  395. * ------[ first line different ]------
  396.        OrigFirstName$ = ZFirstName$ : _                           'Dgs-ALias
  397.        ZOrigUserNameDgs$ = ZActiveUserName$ : _                   'Dgs-ALias
  398.        ZOrigUserName$ = ZActiveUserName$
  399.     ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
  400.        ((ZOrigCnfg$ <> ZCurDef$ OR NOT ZSubBoard) AND _
  401.         (NOT ZPrivateDoor) AND (NOT ZExitToDoors))
  402.     GOSUB 9500
  403. '
  404. '          Pe 06/01/91
  405. '
  406.     PrevLastOn$ = ZLastDateTimeOn$
  407.     IF ZLocalUser THEN _
  408.        ZTalkToModemAt$ = "9600" : _
  409.        ZBaudParity$ = "9600 BAUD,N,8,1" : _   'Pe 07/18/91
  410.        ZModemInitBaud$ = "9600" : _
  411.        ZSnoop = ZTrue : _
  412.        ZLineFeeds = ZTrue
  413.     CALL SetCrLf
  414.     CALL SetPrompt
  415.     CALL XferType (2,ZTrue)
  416.     IF NOT ZSubBoard THEN _
  417.        BoardCheckDate$ = PrevLastOn$
  418.     CALL SetSysOp
  419.     IF ZWasA THEN _
  420.      ZActiveUserName$ = ZSysopFirstName$ + " " + ZSysopLastName$ : _ 'TS041492
  421.      ZFirstName$ = ZSysopFirstName$                                  'TS041492
  422.     IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _
  423.        CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
  424.                  " Lvl" + STR$(ZUserSecLevel) + " " + TIME$,2)
  425.     IF ZExitToDoors OR ZSubBoard THEN _
  426.        GOTO 815
  427.     GOSUB 465
  428.     CALL QuickTPut1 (ZFG1$+"Logging " + ZActiveUserName$)
  429.     Temp$ = STR$(ZBaudTest!) + MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
  430. CALL QuickTPut1 (ZFG2$ + "RBBS-PC " + ZVersionID$ + ZCrLf$ + _
  431.                  ZFG3$ + "Node " + ZNodeID$ + ZCrLf$ +_
  432.                  ZFG4$ + "Operating at " + Temp$ + ZEmphasizeOff$) 'Pe 08/21/91
  433. Call SkipLine (1) 
  434. ' ***** PARITY MOD ***** 'Pe 12/26/91
  435. 'IF RIGHT$(ZBaudParity$,5) <> "N,8,1" THEN _
  436. 'CALL QuickTPut1 (ZCrLF$ +" The BBS does NOT support E,7,1 Parameters " + ZCrLf$ + _
  437. '"  Please Change your Parameters to 8,N,1 and Call Back") : _
  438. 'CALL DelayTime (5) : _
  439. 'GOTO 13540
  440. '***** END OF PARITY MOD *******
  441. '
  442. '
  443.     IF ZMaxNodes > 1 THEN                                        ' CHAT0805
  444.        CALL LogNewForChat (ZMaxNodes)                            ' CHAT0805
  445.     END IF                                                       ' CHAT0805
  446. '
  447.     Attempts = 0
  448.     ZWasZ$ = ZActiveUserName$ + _
  449.             " on at " + _
  450.             ZCurDate$ + _
  451.             ", " + _
  452.             ZTime$ + _
  453.             " from " + _
  454.             ZWasCI$ + _
  455.             ", " + Temp$
  456.      ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$))
  457. '
  458. ' *  ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
  459. '
  460.      WasX$ = "{" + _
  461.           HashValue$ + _
  462.           "/" + _
  463.           ZIndivValue$ + _
  464.           "}"
  465.      IF LEN(ZWasZ$) < 65 THEN _
  466.         WasX = 65 _
  467.      ELSE WasX = LEN(ZWasZ$) + 2
  468.      MID$(ZWasNG$,WasX) = WasX$
  469.      CALL Printit ("  " + ZWasZ$)
  470.      IF ZNewUser THEN _
  471.         CALL UpdtCalr ("NEWUSER",1)      'Pe 05/29/91
  472. * REPLACING old line(s) by new
  473. 815 CALL SetUserUpDn
  474.     IF ZCurDate$ <> LEFT$(ZLastDateTimeOnSave$,8) THEN  _
  475.        ZDLToday! = 0 : _
  476.        ZBytesToday! = 0
  477. * ------[ first line different ]------
  478.     IF ZExitToDoors THEN _       '08/17/91 lk fix for sxpr screwing banktime
  479.        ZBankTime = ZTempBankTime  '08/17/91 lk fixfor sxpr
  480.     CALL SetGlobalUpDn
  481.     GOSUB 827
  482.     LSET ZUserOption$ = MKI$(ZTimesLoggedOn) + _
  483.                         MID$(ZUserOption$,3)
  484.     LSET ZLastDateTimeOn$ = ZCurDate$ + _
  485.                               " " + _
  486.                               ZTimeLoggedOn$
  487.     MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
  488.     IF ZStartIndiv > 0 THEN _
  489.        MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  490.     LSET ZUserName$ = ZOrigUserName$
  491.     IF (NOT ZExitToDoors) AND NOT (ZOrigMsgFile$ = ZActiveMessageFile$ AND ZSubBoard) THEN _
  492.        CALL AutoPage
  493.     IF NOT ZSubBoard THEN _
  494.        ZOrigUserFileIndex = ZUserFileIndex
  495.     IF NOT ZConfMode THEN _
  496.        IF ZOrigDateTimeOn$ = "" THEN _
  497.           ZOrigDateTimeOn$ = ZLastDateTimeOn$ : _
  498.           ZOrigTimeLoggedOn$ = ZTimeLoggedOn$ _
  499.        ELSE ZLastDateTimeOn$ = ZOrigDateTimeOn$ : _
  500.             ZTimeLoggedOn$ = ZOrigTimeLoggedOn$
  501.     GOSUB 9440
  502.     GOSUB 12991
  503.     GOSUB 41000
  504.     CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  505.     IF ZTurboLogon THEN _
  506.        GOTO 819
  507.     IF SkipWelcomeScreen AND _
  508.        (ZUserSecLevel >= ZAllowCallerTurbo) THEN _
  509.        GOTO 816
  510.     IF NOT SameUser THEN _
  511.        ZStopInterrupts = NOT ZWelcomeInterruptable : _
  512.        ZBypassTimeCheck = ZTrue : _
  513.        ZFileName$ = ZWelcomeFile$ : _
  514.        ZDisplayAsUnit = ZTrue : _
  515.        GOSUB 1790 : _
  516.        ZDisplayAsUnit = ZFalse
  517.     ZBypassTimeCheck = ZFalse
  518.     ZStopInterrupts = ZTrue
  519. * REPLACING old line(s) by new
  520. 816 IF NOT ZNewUser THEN _
  521. * ------[ first line different ]------
  522.      CALL QuickTPut1 (ZFG1$ +"Times on   :" + STR$(ZTimesLoggedOn) + ZCrLf$ +_
  523.                       + ZFG2$ +"Last on was: " + PrevLastOn$ + ZEmphasizeOff$)
  524. * REPLACING old line(s) by new
  525. 817 IF NOT ZRemindFileXfers OR ZNewUser THEN _
  526.        GOTO 818
  527. * ------[ first line different ]------
  528.     CALL CheckRatio (ZFalse)
  529. * REPLACING old line(s) by new
  530. 818 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  531.     IF ZRemindProfile THEN _
  532. * ------[ first line different ]------
  533.        GOSUB 5450 : _
  534.        CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  535. * REPLACING old line(s) by new
  536. 819 CALL Trim (ZWasCI$)
  537.     IF (ZNodeRecIndex < 2) THEN _
  538.        GOTO 821
  539.     GOSUB 4910
  540.     GOSUB 24000
  541.     GET 1,ZNodeRecIndex
  542.     MID$(ZMsgRec$,1,31) = ZActiveUserName$ + _
  543.                                  SPACE$(31 - LEN(ZActiveUserName$))
  544.     MID$(ZMsgRec$,40,2) = " 0"
  545. * ------[ first line different ]------
  546.     MID$(ZMsgRec$,44,2) = STR$(ZBPS)
  547.     MID$(ZMsgRec$,55,2) = " 0"
  548.     MID$(ZMsgRec$,57,1) = "A"
  549.     MID$(ZMsgRec$,60,5) = ZTalkToModemAt$ + _
  550.                                  SPACE$(5 - LEN(ZTalkToModemAt$))
  551.     MID$(ZMsgRec$,72,2) = " 0"
  552.     MID$(ZMsgRec$,93,24) = ZWasCI$ + _
  553.                                   SPACE$(24)
  554.     PUT 1,ZNodeRecIndex
  555.     GOSUB 12985
  556. * REPLACING old line(s) by new
  557. 821 IF ZExitToDoors THEN _
  558.        IF ZTransferFunction = 3 THEN _
  559.           ZNewUser = ZTrue : _
  560. * ------[ first line different ]------
  561.           ZTurboLogon = ZFalse : _
  562.           SameUser = ZFalse : _
  563.           ZTransferFunction = 0 : _
  564.           GOTO 832 _
  565.        ELSE GOTO 832
  566.     GOSUB 1241
  567.     IF (ZSubBoard AND (ZOrigMsgFile$ = ZActiveMessageFile$)) _
  568.        OR ((ZUserSecLevel > ZMaxRegSec) AND (NOT ZNewUser)) THEN _
  569.        GOTO 832
  570.     ZWasZ$ = ZRegProgram$
  571.     ZTransferFunction = 3
  572.     CALL DoorExit (ZFalse)
  573.     ZTransferFunction = 0
  574.     GOTO 832
  575. '
  576. ' ****  ESC PRESSED ON LOCAL CONSOLE ENTERS HERE   ***
  577. '
  578. * REPLACING old line(s) by new
  579. 822 LOCATE 24,1
  580.     CALL TakeOffHook
  581.     ZLocalUser = ZTrue
  582.     ZSnoop = ZTrue
  583.     ZBPS = -7
  584.     CALL CommInfo
  585. * ------[ first line different ]------
  586.     IF NOT ZEscapeInsecure THEN _
  587.        GOTO 345
  588.     ZActiveUserName$ = ZSecretName$
  589.     ZFirstName$ = ZSysopPswd1$
  590.     ZLastName$ = ZSysopPswd2$
  591.     ZUserLogonTime! = TIMER
  592.     ZTimeLoggedOn$ = TIME$
  593.     ZLinesPrinted = 0
  594.     ZSysop = ZTrue
  595.     GOTO 457
  596. * REPLACING old line(s) by new
  597. 827 IF ZLastMsgRead > HighMsgNumber THEN _
  598. * ------[ first line different ]------
  599.        ZLastMsgRead = HighMsgNumber : _            'Pe 04/18/92
  600.        MID$(ZUserOption$,3,2) = MKI$(0)
  601.     RETURN
  602. * REPLACING old line(s) by new
  603. 850 ZSubParm = 2
  604.     CALL Line25
  605.     CALL SkipLine (1)
  606. * ------[ first line different ]------
  607.     IF ZTurboLogon THEN _
  608.        ZBulletinSave$ = ZBulletinMenu$ : _
  609.        GOSUB 9750 : _
  610.        GOTO 900
  611.     CALL CountNewFiles (BoardCheckDate$,ZMsgPtr(),LastNew,ZOutTxt$)
  612.    IF ZNewUser OR LastNew < 1 OR NOT ZNewFilesCheck THEN _       'Pe 01/02/90
  613.        GOTO 852                           'Pe 01/02/90
  614.     IF ZFMSDirectory$ <> "" THEN _
  615.        CALL QuickTPut1 (ZOutTxt$ + STR$(LastNew) + " NEW file(s) since last on") _
  616.     ELSE GOTO 852
  617.     WasL = LEN(ZDnldDrives$)
  618.     SecNum = 19
  619.     IF (NOT ZSkipFilesLogon) AND _
  620.        ZUserSecLevel >= ZOptSec(SecNum) THEN _
  621.           ZOutTxt$ = "Review new files to download ([Y],N)" : _
  622.           GOSUB 12999 : _
  623.           IF NOT ZNo THEN _
  624.              ZLastIndex = 3 : _
  625.              ZAnsIndex = 1 : _
  626.              ZWasQ = 3 : _
  627.              ZUserIn$(2) = MID$(BoardCheckDate$,1,2) + _
  628.                      MID$(BoardCheckDate$,4,2) + _
  629.                      MID$(BoardCheckDate$,7,2) : _
  630.              ZWasY$ = ZUserIn$(3) : _
  631.              CALL BreakFileName (ZFMSDirectory$,DR$,ZWasY$,WasX$,ZFalse) : _
  632.              ZUserIn$(3) = ZWasY$ : _
  633.              TimeLockExempt = ZTrue : _
  634.              GOSUB 20185 : _
  635.              ZLastIndex = 0 : _
  636.              TimeLockExempt = ZFalse
  637. * REPLACING old line(s) by new
  638. 900 ZNewUser = ZFalse
  639.     ActionFlag = (ZLogonMailLevel$ = "S")
  640.     LogonMailNew = (ZLogonMailLevel$ = "N")
  641. * ------[ first line different ]------
  642.     GOSUB 1895                                'Pe temp
  643.     IF ZActiveUserName$ = "SYSOP" AND NOT ZSysop THEN _
  644.        ZActiveUserName$ = ZOrigUserName$
  645.     LogonMailNew = ZFalse
  646.     ZSubParm = 2
  647.     CALL Line25
  648.     ZSection$ = "    "
  649.     ZOutTxt$ = ""
  650.     IF (NOT ZConfMode) AND (NOT ZSubBoard) AND NOT ZTurboLogon THEN _
  651.        MailCheckConfirm = ZTrue : _
  652.        LinkNew = ZTrue : _
  653.        GOSUB 5800
  654.     MailCheckConfirm = ZFalse
  655.     ZWasQ! = ZMinsInDoors * 60
  656.     ZMinsInDoors = 0
  657. * REPLACING old line(s) by new
  658. * ------[ first line different ]------
  659. 955 IF NOT ZTurboLogon THEN _
  660.      If NOT SkipMain Then _
  661.        GOSUB 4850 : _
  662.  IF STR$(ZLastMsgRead) < STR$(HighMsgNumber) AND ZUserSecLevel => MsgSec THEN _    'Pe 01/29/89
  663.      GOSUB 4275                                 'PEASKMAIL
  664.     SkipMain = ZFalse
  665.     ZTurboLogon = ZFalse
  666. '
  667. ' *                           COMMAND PROCESSING
  668. '
  669. * REPLACING old line(s) by new
  670. 1205 IF ZSubParm < 0 THEN _
  671.         GOTO 202
  672.      ZSubParm = 1
  673.      ZStopInterrupts = ZFalse
  674.      ZWasQ = 0
  675.      IF (NOT ConfMailJoin) AND (ZHomeConf$ = "" OR ZHomeConf$ = "MAIN") THEN _
  676.         GOTO 1209
  677. * ------[ first line different ]------
  678.      ZTurboLogon = LinkNext OR (NOT ConfMailJoin)
  679.      ConfMailJoin = ZFalse
  680.      ZFF = 8
  681.      IF ZHomeConf$ = "MAIN" THEN _
  682.         ZHomeConf$ = "M"
  683.      ZUserIn$(ZAnsIndex) = ZHomeConf$
  684.      IF LinkNext THEN _
  685.         ZUserIn$(ZAnsIndex + 1) = "R" : _
  686.         ZLastIndex = ZAnsIndex + 1
  687.      ZLastIndex = -ZLastIndex*(ZLastIndex > ZAnsIndex)-ZAnsIndex*(ZLastIndex <= ZAnsIndex)
  688.      ZAnsIndex = ZAnsIndex - 1
  689.      ZHomeConf$ = ""
  690.      ZWasQ = ZLastIndex
  691.      ZStoreParseAt = 1
  692. ZLastCommand$ = "  "
  693. '      ZLastCommand$ = "MJ"   'Pe Test
  694.      GOTO 1240
  695. * REPLACING old line(s) by new
  696. 1210 GOSUB 41000
  697.      IF ZAnsIndex < ZLastIndex THEN _
  698.         GOTO 1232
  699. * ------[ first line different ]------
  700.      CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  701.      IF ZExpertUser THEN _
  702.         GOTO 1230
  703. * REPLACING old line(s) by new
  704. 1230 CALL Line25
  705. * ------[ first line different ]------
  706.      CALL CBCheck(WillChat)                                          ' CHAT0814
  707.       IF WillChat = ZTrue Then _
  708.        GOSUB 9802 : _
  709.         GOTO 1205
  710.      CALL SaveUserActivity("I", ZNodeRecIndex, ZFalse)               ' CHAT0813
  711. * REPLACING old line(s) by new
  712. 1232 MID$(ZLastCommand$,2,1) = " "
  713.      IF ZCustomPUI THEN _
  714.         CALL UserFace : _
  715.         GOSUB 12997 : _
  716.         GOTO 1235
  717. * ------[ first line different ]------
  718.         ZOutTxt$ = ZConfName$ + ":"          'Pe 07/18/91
  719.         GOSUB 12978                          'Pe 07/18/91
  720.      CALL DispTimeRemain (MinsRemaining)     'Pe 02/03/90
  721.      ZOutTxt$ = ZCmdPrompt$
  722.      GOSUB 12930
  723.      IF ZWasQ = 0 THEN _
  724.         GOTO 1230
  725. * REPLACING old line(s) by new
  726. 1235 ZWasZ$ = ZUserIn$(ZAnsIndex)
  727.      IF ZWasZ$ = SPACE$(LEN(ZWasZ$)) THEN _
  728.         GOTO 1230
  729. * ------[ first line different ]------
  730.       CALL SearchCmd (ZSubSection,ZFF)
  731. IF ZFF > 0 THEN _                                        'PE 08/14/91
  732.       GOTO 1240                                          'PE 08/14/91
  733.      IF ZwasQ > 0 THEN _
  734.         CALL QuickTPut1 ("Unknown command <"+ZWasZ$+">") : _
  735.         CALL FlushKeys : _
  736.         GOTO 1230
  737. * DELETING old line(s)
  738. 1239
  739. * REPLACING old line(s) by new
  740. 1240 IF ZUserSecLevel < ZOptSec(ZFF) THEN _
  741.        ZViolation$ = ZSection$ + _
  742.                      " " + _
  743.                      ZWasZ$ : _
  744.         GOSUB 1380 : _
  745.         GOTO 1205
  746. * ------[ first line different ]------
  747. ZDirExtension$ = ZMainDirExtension$
  748.         ON ZFF GOSUB _
  749.                  1400, _      ' 1  A)nswer questionnaire 1
  750.                  9700, _      ' 2  B)ulletins
  751.                  1800, _      ' 3  C)omment 1800 to Sysop
  752.                  10970, _     ' 4  D)oor (exit to)
  753.                  2000, _      ' 5  E)nter a message
  754.                  1275, _      ' 6  F)ile system (exit to)
  755.                  1525, _      ' 7  I)nitial welcome redisplayed  'Pe 06/09/91
  756.                  5300, _      ' 8  J)oin a conference
  757.                  3900, _      ' 9  K)ill a message
  758.                  4700, _      '10  O)perator page
  759.                  1892, _      '11  P)ersonal mail (look for)     'Pe 02/11/89
  760.                  4330, _      '12  R)ead messages
  761.                  4340, _      '13  S)can message headers
  762.                  4320, _      '14  T)ype ASCII FILE 'Pe 02/03/90
  763.                  1285, _      '15  U)tilities (exit to)
  764.                  5800, _      '16  V)iew a conference
  765.                  9800, _      '17  W)ho's on other nodes displayed
  766.                  9801, _      '18  @ Chat routines                'Pe 01/19/92
  767.                 20160, _      '19  D)ownload
  768.                 10570, _      '20  G)oodbye
  769.                 20155, _      '21  L)ist
  770.                 20185, _      '22  N)ew
  771.                 20180, _      '23  P)ersonal files
  772.                 20175, _      '24  S)can
  773.                 20170, _      '25  U)pload
  774.                 20140, _      '26  V)iew ARC Contents
  775.                  5500, _      '27  W)ho Uploaded that file1 'Pe 08/25/91
  776.                  9099, _      '28  C)lock (time & time on)  'PE 05/31/91
  777.                  42850, _     '29  E)cho selection
  778.                  42800, _     '30  F)ile transfer protocol
  779.                  43000, _     '31  G)raphics
  780.                  5200, _      '32  L)ines per page
  781.                  10925, _     '33  M)essage margin
  782.                  5110, _      '34  P)assword change
  783.                  5450, _      '35  R)eview preferences
  784.                  4849, _      '36  S)tatistics displayed  'Pe 09/02/91
  785.                  1500, _      '37  T)oggle
  786.                  10090, _     '38  U)serlog displayed 12
  787.                  30000, _     '39  A)rchive a Library disk 1
  788.                  30000, _     '40  C)hange a Library disk
  789.                  30000, _     '41  D)ownload Library files
  790.                  10570, _     '42  G)oodbye
  791.                  30000, _     '43  L)ist a Library directory
  792.                  30000, _     '44  S)can a Library disk directory
  793.                  20140, _     '45  V)iew arc contents 7
  794.                  1325, _      '46  H)elp 1
  795.                  1330, _      '47  ?)help
  796.                  1250, _      '48  Q)uit
  797.                  4240, _      '49  X)expert toggle on/off 4
  798.                  10070, _     '50  1) List comments file 1    'Pe 09/12/91
  799.                  10090, _     '51  2) List callers file
  800.                  10390, _     '52  3) Recover a message
  801.                  20195, _     '53  4) BatchUpload Files       'Pe 09/12/91
  802.                  11000, _     '54  5) User file maintenance
  803.                   4130, _     '55  6) Toggle page bell on/off
  804.                  10930        '56  7) Exit to DOS 2.x or above 7
  805.      GOTO 1205
  806. '
  807. ' ***       NEWS file scan        ***
  808. '
  809. * REPLACING old line(s) by new
  810. 1243 ZFileName$ = ZNewsFileName$
  811.      CALL RBBSFind (ZFileName$,WasZ,WasY,ZMsgPtr,WasD)
  812.      IF WasZ <> 0 THEN _
  813.         RETURN
  814.      FDate# = WasD + (100 * ZMsgPtr) + (10000# * (WasY + 1980))
  815.      IF NewsDate# > FDate# THEN _
  816.         RETURN
  817. * ------[ first line different ]------
  818.      IF ZTurboLogon THEN _
  819.         CALL QuickTPut1("NEWS file updated since last call") : _
  820.         RETURN
  821.      ZStopInterrupts = ZFalse
  822.      GOSUB 1790
  823.      WasZ = 0
  824.      RETURN                                                          ' LP01NEWS
  825. '
  826. ' ****           QUIT COMMAND (GLOBAL)              ***
  827. '
  828. * REPLACING old line(s) by new
  829. * ------[ first line different ]------
  830. 1283  ZWasQ = 0                                                'Pe 06/25/92
  831.       GOTO 1250
  832. * REPLACING old line(s) by new
  833. 1400 WasA1$ = ZAnsMenu$
  834. * ------[ first line different ]------
  835. '     CALL Talk (13,ZOutTxt$)
  836.      ReturnToPrompt = (ZWasQ > 1)
  837. * REPLACING old line(s) by new
  838. 1500 CALL CmndToggle
  839.      RETURN
  840. '
  841. * ------[ first line different ]------
  842. '
  843. ' ****  I - COMMAND FROM MAIN MENU (DISPLAY INITIAL WELCOME)  *** 'Pe 09/02/91
  844. '
  845. * INSERTING new line(s)
  846. 1525 CALL ShowBull
  847. '
  848. 1596 RETURN
  849. '
  850. * DELETING old line(s)
  851. 1760
  852. * REPLACING old line(s) by new
  853. 1790 CALL Graphic (ZFileName$)
  854.      CALL BufFile (ZFileName$,WasX)
  855.      CALL Carrier
  856.      IF ZSubParm = -1 THEN _
  857.         RETURN 10595
  858.      RETURN
  859. '
  860. * ------[ first line different ]------
  861.  
  862. '
  863. ' ***  C - COMMAND FROM MAIN MENU (LEAVE COMMENT FOR SYSOP)   **
  864. '
  865. * REPLACING old line(s) by new
  866. * ------[ first line different ]------
  867. 1801 MsgTo$ = ZSysopFirstName$ + " " + ZSysopLastName$     'TS 04/14/92
  868.      Subject$ = OrigSubject$
  869.      MsgFrom$ = ZActiveUserName$
  870.      GOSUB 1893
  871.      IF (ActiveMessages >= MaxMsgs OR _
  872.         ((NOT ZMsgsCanGrow) AND _
  873.         (ZNextMsgRec + 5 + ZMaxNodes > HighestMsgRecord)) OR _
  874.         NOT ZCmntsAsMsgs ) THEN _
  875.         ZOutTxt$ = "Want a Reply?  Use "+MID$(ZAllOpts$,5,1) + _
  876.                    " instead.  Leave a comment? (Y,[N])" : _
  877.         GOSUB 12999 : _
  878.         IF NOT ZYes THEN _
  879.            CALL SkipLine (1) : _
  880.            RETURN _
  881.         ELSE ZSysopComment = ZTrue : _
  882.              GOTO 2007
  883.      ZSysopComment = ZFalse
  884.      ZSysopMsg = ZTrue
  885.      ZMsgHeader$ = "comment"
  886.      GOTO 2010
  887. * REPLACING old line(s) by new
  888. 1850 WasBX = &H3
  889.      ZWasEN$ = ZCmntsFile$
  890.      GOSUB 12992
  891.      CALL OpenWorkA (ZCmntsFile$)
  892.      ZOutTxt$ = ZFirstName$ + _
  893.           ", Thanks for comments!"
  894.      GOSUB 12976
  895.      CALL AMorPM
  896.      CALL PrintWorkA (ZActiveUserName$+" "+ZCurDate$+" "+ZTime$+" Node "+ZNodeID$)
  897.      FOR WasX = 1 TO ZLinesInMsg
  898.         CALL PrintWorkA (ZOutTxt$(WasX))
  899.      NEXT
  900.      CALL PrintWorkA (ZCarriageReturn$)
  901.      CLOSE 2
  902.      IF ZErrCode <> 0 THEN _
  903.         ZWasEL = 1850 : _
  904.         GOTO 13000
  905.      WasBX = &H3
  906.      ZWasEN$ = ZCmntsFile$
  907.      GOSUB 12993
  908.      CALL UpdtCalr ("Left comment",1)
  909.      REDIM ZOutTxt$(ZMsgDim)
  910. * ------[ first line different ]------
  911. IF ZLogOff$ = "G" THEN
  912. GetOut = Ztrue
  913.  Zlogoff$ = "L"
  914.  GOTO 10560
  915.  End IF         ' Pe 02/03/90
  916.      RETURN
  917. '
  918. ' ****  P - COMMAND FROM MAIN MENU (DISPLAY PERSONAL MAIL)  ****
  919. '
  920. * INSERTING new line(s)
  921. 1892 GOSUB 1900                                  'Pe 02/11/89
  922.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)   'Pe 02/11/89
  923.      RETURN                                      'Pe 02/11/89
  924. * REPLACING old line(s) by new
  925. * ------[ first line different ]------
  926. 1895 IF ZTurboLogon THEN _
  927.         RETURN
  928.      ZOutTxt$ = "Check mail in " + ZConfName$ + " ([Y],N)"
  929.      GOSUB 12999
  930.      IF ZNo THEN _
  931.         SkipMain = ZTrue : _
  932.         RETURN
  933.      ZUserIn$(0) = LEFT$("NEW ",-4*LogonMailNew)
  934. * REPLACING old line(s) by new
  935. * ------[ first line different ]------
  936. 2065 ZOutTxt$ = "         |...25 characters Max....> " + _       'ER052601
  937.      ZPressEnter$                                                'ER052601
  938.      CALL ColorPrompt (ZOutTxt$)                                 'ER052601
  939.      ZSubParm = 5                                                'ER052601
  940.       Call TPut                                                  'ER052601
  941.  IF Subject$ <> "" THEN _
  942.         ZOutTxt$ = "Change subject from " + _
  943.              Subject$ + _
  944.              " to" _
  945.      ELSE ZOutTxt$ = "Subject"
  946.      ZMacroMin = 99
  947.      ZParseOff = ZTrue
  948.      GOSUB 12932
  949.      IF LEN(ZUserIn$) > 25 THEN _
  950.         ZOutTxt$ = ZFirstName$ + ", 25 characters MAX" : _      'Pe 05/29/92
  951.         GOSUB 12979 : _
  952.         GOTO 2065
  953.      IF ZWasQ = 0 THEN _
  954.         IF Subject$ <> "" THEN _
  955.            RETURN _
  956.         ELSE GOSUB 2435 : _
  957.              IF ZYes THEN _
  958.                 RETURN 5160 _
  959.              ELSE GOTO 2065
  960.      Subject$ = ZUserIn$
  961.      CALL AllCaps (Subject$)
  962.      OrigSubject$ = Subject$
  963.      RETURN
  964. '
  965. ' *****  ENTER MAIN BODY OF MESSAGE  ****
  966. '
  967. '
  968. * REPLACING old line(s) by new
  969. * ------[ first line different ]------
  970. 2100  IF ZGetExtDesc Then Goto 2120
  971.  CALL SaveUserActivity("M", ZNodeRecIndex, ZFalse)               ' CHAT0813
  972.   IF (NOT ZFullScreenEditor AND ZHiLiteOff = 0 AND ZWasGR = 2) THEN  'ER 06/23/92
  973.      ZOutTxt$ = "Use the ANSI Screen Editor (Y,[N])"
  974.       GOSUB 12930
  975.     IF NOT ZYes THEN _
  976.        GOTO 2120
  977.       End If
  978. * INSERTING new line(s)
  979. 2110 CALL Ansied (MsgTo$, OrigSubject$, MsgLockLines)
  980.      I = ZSubParm
  981.      CALL SkipLine (1)
  982.      IF I = -2 THEN      ' Sleep Disconnect
  983.         GOTO 10590
  984.      ELSEIF I = -1 THEN  ' Lost Carrier
  985.         GOTO 10595
  986.      ELSEIF I = 1 THEN   ' Save Message
  987.         GOTO 3400
  988.      ELSEIF I = 2 THEN   ' Abort Message
  989.         GOTO 2430
  990.      END IF
  991. 2120 ZOutTxt$ = "Enter Your " + _
  992.           ZMsgHeader$ + _
  993.           STR$(ZMaxMsgLines) + _
  994.           " Lines max" + _
  995.           ZPressEnter$
  996.      GOSUB 12975
  997.      GOSUB 3200
  998. * REPLACING old line(s) by new
  999. * ------[ first line different ]------
  1000. 2530 ZOutTxt$ = "Delete lines " + STR$(Mark1) + "-" + _
  1001.         MID$(STR$(Mark2),2) + " (Y,[N],L)ist)"
  1002.      GOSUB 12930
  1003.      Temp$ = ZUserIn$(ZAnsIndex)
  1004.      CALL AllCaps(Temp$)
  1005.      IF Temp$ = "L" THEN GOTO 2522
  1006.      IF NOT ZYes THEN _
  1007.         ZOutTxt$ = "NOT Deleted" : _
  1008.         GOSUB 12979 : _
  1009.         GOTO 2555
  1010. * REPLACING old line(s) by new
  1011. 3020 IF ZGetExtDesc THEN WasL = 1
  1012. * ------[ first line different ]------
  1013.      FOR WasX = WasL TO ZLinesInMsg 
  1014.         CALL AskMore ("",ZTrue,ZTrue,WasXX,ZFalse)
  1015.         IF ZNo OR ZRet THEN _
  1016.            WasX = ZLinesInMsg + 1 _
  1017.         ELSE ZOutTxt$ = RIGHT$(STR$(WasX),2) + _
  1018.                   ": " + _
  1019.                   ZOutTxt$(WasX) : _
  1020.              GOSUB 12979
  1021.      NEXT
  1022.      RETURN
  1023. '
  1024. ' *****  CHANGE MARGIN WIDTH   ****
  1025. '
  1026. * REPLACING old line(s) by new
  1027. 3405 IF ZSysopMsg THEN _
  1028.         MsgPswd$ = "^READ^" _
  1029.      ELSE Temp$ = MsgPswd$ : _
  1030.           CALL MsgProt (MsgTo$,Found,MsgPswd$) : _
  1031.           IF MsgPswd$ = "" THEN _
  1032.              MsgPswd$ = Temp$ : _
  1033. * ------[ first line different ]------
  1034.               IF ZFullScreenEditor THEN _      'lk 03/23/92
  1035.              GOTO 2110 _                   'lk 03/23/92
  1036.           ELSE GOTO 2300                   'lk 03/23/92
  1037.      SaveReplyStatus = ZReply
  1038.      ZReply = ZTrue
  1039.      ZSysopMsg = ZFalse
  1040.      ZReply = SaveReplyStatus
  1041.      GOSUB 4910
  1042.      MsgRecSave$ = ZMsgRec$
  1043.      MsgCorrected = ZFalse
  1044.      GOSUB 23100
  1045.      ZWasSL = 0
  1046.      ZWasN$ = ""
  1047.      ZLastIndex = 0
  1048.      HighMsgNumber = HighMsgNumber + 1
  1049. '
  1050. '
  1051. 'find out if toss log has been opened for node
  1052. '
  1053. '
  1054. * INSERTING new line(s)
  1055. 3406 IF ZRBBSName$ = ZOrigRBBSName$ THEN _  'lk 022092
  1056.      GOTO 3410     
  1057. TossLog$ = "Toss"+ZNodeFileID$+".LOG"
  1058. TossFile$ = ZRBBSName$
  1059. CALL FindIt (Tosslog$)    'LK 033191
  1060.      IF NOT ZOK THEN _     'LK 033191
  1061.       GOTO 3407 
  1062.       CALL OpenWork (2,TossLog$)
  1063.       Found = ZFalse
  1064.       GOSUB 3408    
  1065.       IF Found THEN _
  1066.       GOTO 3410
  1067.       GOTO 3409
  1068. 3407 CALL OpenOutW (TossLog$)    'LK 033191
  1069.      PRINT #2, TossFile$         'Lk 021992
  1070.      CLOSE 2
  1071.      GOTO 3410
  1072. 3408  IF EOF(2) THEN _
  1073.          RETURN
  1074.       INPUT #2,TossList$
  1075.       IF TossFile$ <> TossList$ THEN _
  1076.          GOTO 3408
  1077.       Found = ZTrue
  1078.       RETURN
  1079. 3409 CALL OpenWorkA (TossLog$)
  1080.      CALL PrintWorkA (TossFile$)  'Lk 021992
  1081.      CLOSE 2
  1082. * REPLACING old line(s) by new
  1083. 3650 QuotedReply = ZFalse
  1084.      MsgLockLines = 0
  1085.      IF ZReply OR MsgFwd THEN _
  1086.         ZReply = ZFalse : _
  1087.         ZAnsIndex = SaveAnsIndex : _
  1088.         GOTO 5344
  1089.      IF ZGetExtDesc THEN _
  1090.         ZLinesInMsg = 0
  1091. * ------[ first line different ]------
  1092. If ZLogOff$ = "G" Then
  1093. Getout = Ztrue
  1094. ZLogoff$ = "L"
  1095. Goto 10560
  1096. End If                                              'Pe 02/03/90
  1097.      RETURN
  1098.  
  1099. '
  1100. ' ****  K - COMMAND FROM MAIN MENU (KILL MESSAGE)  ***
  1101. '
  1102. * REPLACING old line(s) by new
  1103. 3930 ZOutTxt$ = "Msg #(s) to Kill" + LEFT$(", M)arked",-9*(ZMarkedMsgs$ <> "")) + ZPressEnterExpert$
  1104.      GOSUB 12932
  1105.      IF ZWasQ = 0 THEN _
  1106.         RETURN
  1107.      GOSUB 1893
  1108. * ------[ first line different ]------
  1109.      ZWasZ$ = ZUserIn$(ZAnsIndex)
  1110.      CALL UnMarkItems (ZMarkedMsgs$,ZAnsIndex,ZLastIndex,Found,ZTrue)
  1111. * REPLACING old line(s) by new
  1112. 3950 GOSUB 5344
  1113. * ------[ first line different ]------
  1114.  CALL KillMsg (MsgToKill,ActiveMessages,ZconfName$)   'Pe 02/03/90
  1115. * REPLACING old line(s) by new
  1116. 4240 CALL Toggle(9)
  1117.      RETURN
  1118. * ------[ first line different ]------
  1119. * INSERTING new line(s)
  1120. 4275 'IF NOT ZConfMode then Return   'Tom Hazle mod
  1121.    ZOutTxt$ = "There are New Message since last call, Read them now ? ([Y],N) "
  1122.      GOSUB 12999                            'JABASKMAIL
  1123. 4279 IF NOT ZNO THEN _                            'JABASKMAIL
  1124.      ZLastIndex = 2 : _               'Pe 11/05/89
  1125.      ZAnsIndex = 1 : _                'Pe 11/05/89
  1126.      ZWasQ = 2 : _                    'Pe 11/05/89
  1127.      ZUserIn$(2) = "*" :_             'Pe 11/05/89
  1128.      GOTO 4330                        'Pe 11/05/89
  1129.      RETURN                            'JABASKMAIL
  1130. '
  1131. '
  1132. '**** T)ype ASCII file *****   Pe/10/22/89
  1133. '
  1134. * REPLACING old line(s) by new
  1135. * ------[ first line different ]------
  1136. 4320     ZLastIndex = Q 
  1137.          ZAnsIndex = 1  
  1138.          CALL TypeFile 
  1139.          RETURN
  1140.  
  1141. '
  1142. ' ****  R - COMMAND FROM MAIN MENU (READ MESSAGES)  ****
  1143. '
  1144. * REPLACING old line(s) by new
  1145. 4360 ZWasLG$(11) = ZWasZ$
  1146.      NumMsgsSelected = ZLastIndex
  1147.      MsgIndex = ZAnsIndex
  1148.      ZLastIndex = 0
  1149.      AddressedToUser = ZFalse
  1150.      ToRequested = ZFalse
  1151.      FromRequested = ZFalse
  1152.      LinkNext = ZFalse
  1153. * ------[ first line different ]------
  1154.      CALL SaveUserActivity("M", ZNodeRecIndex, ZFalse)               ' CHAT0813
  1155. * REPLACING old line(s) by new
  1156. * ------[ first line different ]------
  1157. 4552 IF ZMsgDimIndex = WasXXX THEN _
  1158.         CALL Carrier : _
  1159.         GOTO 4637
  1160. * REPLACING old line(s) by new
  1161. 4563   CurMsg = VAL(MID$(ZMsgRec$,2,4))
  1162.        IF ToRequested THEN _
  1163.           IF NOT MsgToCaller THEN _
  1164.              GOTO 4629
  1165.        IF FromRequested THEN _
  1166.           IF NOT MsgFromCaller THEN _
  1167.              GOTO 4629
  1168.        IF AddressedToUser AND NOT UserInHeader THEN _
  1169.           GOTO 4629
  1170.        WasX$ = MID$(ZMsgRec$,121,2)
  1171.        IF WasX$ = "  " THEN _
  1172.           MsgSec = ZMinLogonSec _
  1173.        ELSE MsgSec = CVI(WasX$)
  1174. * ------[ first line different ]------
  1175.        IF ZUserSecLevel < MsgSec THEN _
  1176.           GOTO 4629
  1177. * REPLACING old line(s) by new
  1178. 4581   IF MID$(ZMsgRec$,116,1) = ZDeletedMsg$ THEN _
  1179.           GOTO 4630
  1180. * ------[ first line different ]------
  1181.        ZJustSearching = ZFalse      'Pe 05/30/91
  1182.        IF SearchHeader$ <> "" THEN _
  1183.           ZFF = INSTR(ZMsgRec$,SearchHeader$) : _
  1184.           IF ZFF >= MsgStart AND ZFF <= MsgEnd THEN _
  1185.              HiLitePos = ZFF : _
  1186.              SearchCt = 0 : _
  1187.              GOTO 4582 _
  1188.           ELSE IF ReadMsgs AND SearchString$ <> "" THEN _
  1189.                   ZJustSearching = ZTrue : _    'Pe 05/30/91
  1190.                   GOTO 4582 _
  1191.                ELSE GOTO 4629
  1192. * REPLACING old line(s) by new
  1193. 4600   IF ScanMsgs THEN _
  1194.           GOSUB 8020 : _
  1195.           GOTO 4630
  1196. * ------[ first line different ]------
  1197.        IF NOT ZJustSearching THEN _
  1198.           GOSUB 8000 : _
  1199.           IF QuotedReply THEN _
  1200.              QuotedReply = ZFalse : _
  1201.              GOTO 4602
  1202.        IF ZRet THEN _
  1203.           GOTO 4630
  1204.        CanChangeSec = (ZUserSecLevel => ZSecChangeMsg)
  1205.        ShowKill =  - ((ZUserSecLevel >= ZOptSec(9)) AND (UserInHeader OR CanKill))
  1206.      If ZNewUserDgs = ZTrue then ShowKill= ZFalse  'Dgs-NEw
  1207.        IF ZExpertUser THEN _
  1208.           WasA1$ = ",H" + _
  1209.                 MID$(",R",1,- (ZUserSecLevel >= ZOptSec(5)) * 2) + _
  1210.                 ",T,M,=,+,-" + _
  1211.                 MID$(",F",1,- (UserInHeader OR CanChangeSec) * 2) + _
  1212.                 MID$(",K",1,ShowKill * 2) + _
  1213.                 MID$(",U",1,- (ZUserSecLevel >= ZOptSec(54)) * 2) + _
  1214.                 MID$(",S",1, - CanChangeSec * 2) : _
  1215.           GOTO 4601
  1216.        GOSUB 4617
  1217. * REPLACING old line(s) by new
  1218. * ------[ first line different ]------
  1219. 4601   ' ZTurboKey = -ZTurboKeyUser
  1220.        IF ZJustSearching OR NOT JustReplied THEN _
  1221.           GOTO 4602
  1222.        JustReplied = ZFalse
  1223.        CALL AskMore (WasA1$,ZTrue,ZFalse,ZAnsIndex,ZFalse)
  1224.        CALL SkipLine (1)
  1225.        IF ZNo THEN _
  1226.           RETURN
  1227.        CALL AllCaps (ZUserIn$(1))
  1228.        ZReply = (ZReply OR ZUserIn$(1) = "R")
  1229.        IF ZUserIn$(1) <> "=" THEN _
  1230.           GOTO 4605
  1231.        CALL SkipLine (1)
  1232. * REPLACING old line(s) by new
  1233. * ------[ first line different ]------
  1234. 4603  IF NOT ZJustSearching THEN _               'Pe 02/05/90
  1235.       CALL QuickTPut (ZFG2$+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+ZEmphasizeOff$,1)
  1236.        GOSUB 9000
  1237.        JustReplied = ZFalse
  1238.        DontPrint = ZFalse
  1239.        IF ZJustSearching THEN _
  1240.           GOTO 4629
  1241.        IF ZAnsIndex > NumMsgsSelected THEN _
  1242.           GOTO 4650
  1243.        CALL SkipLine (1)
  1244.        GOSUB 41000
  1245.        ZKillMessage = ZFalse
  1246.        ZReply = ZFalse
  1247. * REPLACING old line(s) by new
  1248. 4606   IF NOT (UserInHeader OR CanChangeSec) THEN _   ' Forward
  1249. * ------[ first line different ]------
  1250.           GOTO 4620
  1251.        MsgFwd = ZTrue
  1252.        GOTO 4623
  1253. * REPLACING old line(s) by new
  1254. 4607   IF ZUserSecLevel < ZOptSec(54) THEN _    ' User edit
  1255.           GOTO 4620
  1256.        EditFromRead = 1
  1257.        ZReply=ZTrue
  1258.        CALL PutMsgAttr
  1259.        TempHashValue$ = MsgFrom$
  1260.        CALL Trim (TempHashValue$)
  1261.        IF TempHashValue$ = "SYSOP" THEN _
  1262. * ------[ first line different ]------
  1263.               TempHashValue$ = ZSecretName$
  1264.        GOTO 11000
  1265. * REPLACING old line(s) by new
  1266. * ------[ first line different ]------
  1267. 4611   IF ((UserInHeader and NOT ZNewUserDgs) OR CanKill) THEN _     ' Kill Dgs-new
  1268.          IF ZUserSecLevel >= ZOptSec(9) THEN _
  1269.             CALL PutMsgAttr : _
  1270.             MsgToKill = CurMsg : _
  1271.             Temp = ZWasQ : _
  1272.             GOSUB 3950 : _
  1273.             CALL GetMsgAttr : _
  1274.             GOTO 4629 _
  1275.          ELSE ZViolation$ = "MORE KILL" : _
  1276.               GOSUB 1380 : _
  1277.               GOTO 4629
  1278.        GOTO 4620
  1279. * REPLACING old line(s) by new
  1280. 4617   WasA1$ = ",H)lp" + _
  1281. * ------[ first line different ]------
  1282.                 MID$(",R)ply",1, - (ZUserSecLevel >= ZOptSec(5)) * 6) + _ ' PE040501
  1283.                 ",T)hrd,M)rk,=,+,-" + _
  1284.                 MID$(",F)wd",1, - (UserInHeader OR CanChangeSec) * 5) + _
  1285.                 MID$(",K)ill",1, ShowKill * 6) + _
  1286.                 MID$(",U)sr",1,- (ZUserSecLevel >= ZOptSec(54)) * 6) + _
  1287.                 MID$(",S)ec",1, - CanChangeSec * 5)
  1288.        RETURN
  1289. * REPLACING old line(s) by new
  1290. 4626   ZWasZ$ = "L"
  1291.        WasL = 1
  1292. * ------[ first line different ]------
  1293. '************************* AnsiEd244 Mods ***********************
  1294.  IF ZFullScreenEditor THEN
  1295.       GOSUB 2110
  1296.      GOTO 4628
  1297.   End IF
  1298. '
  1299. IF NOT ZFullScreenEditor Then   
  1300.    ZOutTxt$ = "Use the ANSI full screen editor (Y,[N])"
  1301.     GOSUB 12930
  1302.       IF ZYES THEN 
  1303.        GOSUB 2110
  1304.        ELSE
  1305.           IF ZLinesInMsg >= ZMaxMsgLines THEN _
  1306.              CALL QuickTPut ("Message Must Be Shorter Than" + _
  1307.                          STR$(ZMaxMsgLines) + " Lines...",1)
  1308.        IF NOT MsgFwd THEN _
  1309.        CALL QuickTPut1 ("Please delete unneeded lines, then [C] continues reply")
  1310.        GOSUB 3200
  1311.        GOSUB 3020
  1312.        GOSUB 2300
  1313.        End IF
  1314.       End If
  1315.        GOTO 4628
  1316. * REPLACING old line(s) by new
  1317. 4650 CALL AskMore ("",ZTrue,ZTrue,WasX,ZTrue)
  1318. * ------[ first line different ]------
  1319.      CALL SkipLine (1)
  1320.      CALL QuickTPut1 ("--End Msgs--")
  1321.      CALL DelayTime (1)          'Pe 02/03/90
  1322.      RETURN
  1323. * REPLACING old line(s) by new
  1324. 4661 WasY = (ASC(MID$(ZMsgRec$,116,1)) = 225)
  1325.      IF FirstActive = 0 THEN _
  1326.         IF WasY THEN _
  1327.            FirstActive = LOC(1)
  1328.      GOSUB 4662
  1329.      GET 1
  1330.      CALL ChkIfMsgHeader
  1331.      IF NOT ZOK THEN _
  1332.         ZNumHeaders = WasI
  1333. * ------[ first line different ]------
  1334.      IF MsgToCaller AND ((NOT WasY) OR (ZUserSecLevel < ZSecKillAny)) THEN _
  1335.         CurrHeaderRecNum = LOC(1) - 1 _
  1336.      ELSE WasI = WasI + 1 : _
  1337.           IF WasI <= ZNumHeaders THEN _
  1338.               GOTO 4661 _
  1339.           ELSE IF FirstActive > 0 THEN _
  1340.                   CurrHeaderRecNum = FirstActive
  1341.      GET 1, CurrHeaderRecNum
  1342.      UserInHeader = (MsgFromCaller OR MsgToCaller)
  1343.      RETURN
  1344. * REPLACING old line(s) by new
  1345. 4665 CALL Trim (MsgFrom$)
  1346.      ZOutTxt$ = "Change sender's name from " + _
  1347.         MsgFrom$ + _
  1348.         " to"
  1349.      GOSUB 12995
  1350.      IF ZWasQ = 0 THEN _
  1351.         GOTO 4666
  1352.      IF LEN(ZUserIn$) > 30 THEN _
  1353. * ------[ first line different ]------
  1354.         CALL QuickTPut1 ("30 Chars max") : _
  1355.         GOTO 4665
  1356.      CALL AllCaps (ZUserIn$)
  1357.      MsgFrom$ = ZUserIn$
  1358. * REPLACING old line(s) by new
  1359. 4666 CALL Trim (MsgTo$)
  1360.      ZOutTxt$ = "Change receiver's name from " + _
  1361.         MsgTo$ + _
  1362.         " to"
  1363.      GOSUB 12995
  1364.      IF ZWasQ = 0 THEN _
  1365.         GOTO 4667
  1366.      IF LEN(ZUserIn$) > 30 THEN _
  1367. * ------[ first line different ]------
  1368.         CALL QuickTPut1 ("30 Chars max") : _
  1369.         GOTO 4666
  1370.      CALL AllCaps (ZUserIn$)
  1371.      MsgTo$ = ZUserIn$
  1372.      TempMsgTo$ = ZUserIn$
  1373.      CALL SetWhoTo (ZFalse,MsgTo$,MsgFrom$,RcvrRecNum,Found)
  1374.      IF MsgTo$ = "" THEN MsgTo$ = TempMsgTo$
  1375. * REPLACING old line(s) by new
  1376. 4667 CALL Trim (Subject$)
  1377.      ZOutTxt$ = "Change subject from " + _
  1378.         Subject$ + _
  1379.         " to"
  1380.      GOSUB 12995
  1381.      IF ZWasQ = 0 THEN _
  1382.         GOTO 4668
  1383.      IF LEN(ZUserIn$) > 25 THEN _
  1384. * ------[ first line different ]------
  1385.         CALL QuickTPut1 ("25 Char. Max") : _
  1386.         GOTO 4667
  1387.      CALL AllCaps (ZUserIn$)
  1388.      Subject$ = ZUserIn$
  1389. * REPLACING old line(s) by new
  1390. 4700 IF NOT ZSysopAvail THEN _
  1391.         ZOutTxt$ = "Sorry, " + _
  1392.              ZSysopFirstName$ + _
  1393. * ------[ first line different ]------
  1394.              " not available now" : _
  1395.         GOSUB 12979 : _
  1396.         GOTO 4755
  1397. * INSERTING new line(s)
  1398. 4707 GOTO 4750                                                    'Pe 02/03/90
  1399. * REPLACING old line(s) by new
  1400. 4710 ZOutTxt$ = "Page " + _
  1401.           ZSysopFirstName$ + _
  1402.           " (Y,[N])"
  1403.      CALL SkipLine (1)
  1404.      GOSUB 12999
  1405.      IF NOT ZYes THEN _
  1406.         RETURN
  1407.      PageCount = 0
  1408. * ------[ first line different ]------
  1409.      ZOutTxt$ = "Paging " + _
  1410.           ZSysopFirstName$
  1411.      GOSUB 12978
  1412.      PageTimeStart! = TIMER
  1413.      TempSnoop = ZSnoop
  1414.      ZSnoop = ZTrue
  1415.      CALL Line25
  1416. * REPLACING old line(s) by new
  1417. 4755 CALL QuickTPut1 ("Leave a msg or comment")
  1418. * ------[ first line different ]------
  1419.       PagedFileName$ = "PAGED.DEF"              'Pe 02/03/90
  1420.       Call BufFile (PagedFileName$,WasX)        'Pe 02/03/90
  1421.      ZPageStatus$ = "PG!"
  1422.      CALL UpdtCalr ("Operator paged " + LEFT$(TIME$,5),2)
  1423.      RETURN
  1424. * REPLACING old line(s) by new
  1425. 4765 CALL UpdtCalr ("Paged & chatted with Sysop",1)
  1426. * ------[ first line different ]------
  1427.      CALL SkipLine (1)                    'SM091905
  1428.          ZPageStatus$ = ""
  1429.      ZSysopGreeting$ = "SysOp in!  " + ZFirstName$ + ", this is " + _ ' DD062801/ANSICHAT
  1430.                        ZSysopFirstName$ + ", go ahead!"             ' DD062801/ANSICHAT
  1431.      ZPageStatus$ = ""
  1432. * REPLACING old line(s) by new
  1433. * ------[ first line different ]------
  1434. 4770 IF ZANSITest = ZTrue OR ZWasGR > 1 THEN                        ' DD062801/ANSICHAT
  1435.         CALL ANSIChat                                               ' DD062801/ANSICHAT
  1436.      ELSE                                                           ' DD062801/ANSICHAT
  1437.         CALL SkipLine (1)                                           ' DD062801/ANSICHAT
  1438.         CALL QuickTPut1 (ZSysopGreeting$)                           ' DD062801/ANSICHAT
  1439.         CALL SysopChat                                              ' DD062801/ANSICHAT
  1440.      END IF                                                         ' DD062801/ANSICHAT
  1441.      IF ZSubParm < 0 THEN _
  1442.         GOTO 202
  1443.      RETURN
  1444. '
  1445. ' ****  S - COMMAND FROM UTILITY MENU (STATISTICS)  ***  'Pe 09/02/91
  1446. '
  1447. * INSERTING new line(s)
  1448. 4849 GOSUB 4850         'PE 02/10/89
  1449.     CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue)   'PE 02/10/89
  1450.      RETURN             'PE 02/10/89
  1451. * REPLACING old line(s) by new
  1452. * ------[ first line different ]------
  1453. 4850 CALL Statistics (CallsToDate!,ActiveMessages,HighMsgNumber,HighestMsgRecord,CurUserCount,MaxMsgs)
  1454.      RETURN
  1455. '
  1456. * DELETING old line(s)
  1457. 4855
  1458. 4857
  1459. * REPLACING old line(s) by new
  1460. * ------[ first line different ]------
  1461. 4905 IF NOT ZTurboLogon THEN _
  1462.         GOSUB 1790
  1463. * REPLACING old line(s) by new
  1464. 4910 GOSUB 12986
  1465.      GOSUB 5344
  1466.      IF LOF(1) = 0 THEN _
  1467.         ZWasDF$ = ZActiveMessageFile$ : _
  1468.         CLOSE 1 : _
  1469.         KILL ZActiveMessageFile$ : _
  1470.         GOSUB 12987 : _
  1471.         RETURN 13600
  1472.      GOSUB 23000
  1473.      RETURN
  1474. '
  1475. * ------[ first line different ]------
  1476. ' ****  P - COMMAND FROM UTILITY MENU (PASSWORD CHANGE)  ***
  1477. '
  1478. * REPLACING old line(s) by new
  1479. 5280 CALL BreakFileName (ZActiveMsgFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue)
  1480.      WasX$ = UserDrvPath$ + _
  1481.              ZConfName$ + _
  1482.              "U.DEF"
  1483.      CALL FindIt (WasX$)
  1484.      IF NOT ZOK THEN _
  1485. * ------[ first line different ]------
  1486.         CALL BreakFileName (ZActiveUserFile$,UserDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  1487.         WasX$ = UserDrvPath$ + _
  1488.                 ZConfName$ + _
  1489.                 "U.DEF"
  1490.      RETURN
  1491. * REPLACING old line(s) by new
  1492. 5300 WasA1$ = ZConfMenu$
  1493.      CALL BreakFileName (ZActiveMessageFile$,MsgDrvPath$,WasX$,ZWasY$,ZTrue)
  1494. * ------[ first line different ]------
  1495. * REPLACING old line(s) by new
  1496. 5301 ZStackC = ZTrue
  1497.      CALL SubMenu ("Join what, L)ist M)ain N)ext, all/mail S)ince P)ers, or name ([Q]uit)",_
  1498.          WasA1$,MsgDrvPath$,"M.DEF",",M,MAIN,N,S,P,Q,", _
  1499.          ZTrue,ZFalse,ZFalse,"C.DEF",WasX,ZFalse)
  1500.      IF ZWasQ = 0 THEN _
  1501.         RETURN
  1502. * ------[ first line different ]------
  1503.      ZActiveUserName$ = ZOrigUserNameDgs$                         'Dgs-ALias
  1504.      ZFirstName$ = OrigFirstName$                                 'Dgs-ALias
  1505.      IF ZSubParm = -1 THEN _
  1506.         RETURN 10595
  1507. * REPLACING old line(s) by new
  1508. 5323 IF ZWasZ$ = "MAIN" THEN _
  1509.         ZWasZ$ = "M"
  1510.      WasX = (ZWasZ$ = "M")
  1511.      IF ZWasZ$ = ConfNameSave$ OR (WasX AND ZConfName$ = "MAIN") THEN _
  1512.         CALL QuickTPut1 ("You are already in " + ZWasZ$) : _
  1513. * ------[ first line different ]------
  1514.   GOSUB 2350 : _                                                     ' Pe042592
  1515.         RETURN
  1516.      ON INSTR("MNSPQ",ZWasZ$) GOTO 5350,5290,5292,5294,10550
  1517.      IF NOT ZOK THEN _
  1518.         GOTO 5300
  1519.      CLOSE 2
  1520. '
  1521. ' ****  UPDATE PREVIOUS MESSAGE BASE CHECKPOINT RECORD  ***
  1522. '
  1523. * REPLACING old line(s) by new
  1524. 5328 WasX$ = ZConfName$ + _
  1525.           "C.DEF"
  1526.      CALL FindIt (WasX$)
  1527.      ZSubBoard = ZOK
  1528.      IF NOT ZSubBoard THEN _
  1529.         CALL BreakFileName (ZMainMsgFile$,MsgDrvPath$,ZWasDF$,ZWasY$,ZTrue) : _
  1530.         WasX$ = MsgDrvPath$ + WasX$ : _
  1531.         CALL FindIt (WasX$) : _
  1532.         ZSubBoard = ZOK
  1533.      IF ZSubBoard THEN _
  1534.         IF LEN(ZConfName$) = 6 THEN _
  1535.            IF LEFT$(ZConfName$,4) = "RBBS" AND RIGHT$(ZConfName$,1) = "P" THEN _
  1536.               ZSubBoard = ZFalse
  1537.      IF NOT ZSubBoard THEN _
  1538.         GOSUB 5280 : _
  1539.         ZFileName$ = ZWelcomeFileDrvPath$ + _
  1540.                      ZConfName$ + _
  1541.                      "W.DEF" _
  1542.         ELSE CALL ReadDef (WasX$) : _
  1543.              IF ZErrCode > 0 THEN _
  1544.                 CALL UpdtCalr ("Error"+STR$(ZErrCode)+" reading config file "+WasX$,2) : _
  1545.                 ZErrCode = 0 : _
  1546.                 ZInConfMenu = ZFalse : _
  1547.                 ZOutTxt$ = "error reading subboard" : _
  1548.                 GOTO 5341 _
  1549.              ELSE WasX$ = ZMainUserFile$ : _
  1550.                   ZFileName$ = "" : _
  1551.                   CALL FindIt (ZMainMsgFile$) : _
  1552.                   IF NOT ZOK THEN _
  1553.                      ZOutTxt$ = "msg file missing for" : _
  1554.                      ZInConfMenu = ZFalse : _
  1555.                      GOTO 5341 _
  1556.                   ELSE ZActiveMessageFile$ = ZMainMsgFile$ : _
  1557.                        GOSUB 5343
  1558.      UpdateDate = ZTrue
  1559.      CALL FindIt (WasX$)
  1560.      IF ZOK THEN _
  1561.         GOTO 5330
  1562. '
  1563. ' *****  NO USER FILE - A PUBLIC CONFERENCE   ****
  1564. '
  1565.      ZMainUserFile$ = PrevMainUser$
  1566.      IF (ZUserSecLevel < AutoAddSec) THEN _
  1567.         GOTO 5340
  1568.      GOTO 5345
  1569. * ------[ first line different ]------
  1570. '
  1571. ' ****  CHECK CONFERENCE USER'S FILE  ***
  1572. '
  1573. * REPLACING old line(s) by new
  1574. 5335 IF Found THEN _
  1575.         GOSUB 9500 : _
  1576.         ZMainUserFileIndex = -(ZSubBoard * ZUserFileIndex)_
  1577. * ------[ first line different ]------
  1578.                          -((NOT ZSubBoard) * ZMainUserFileIndex) : _
  1579.         Temp = -(ZSubBoard * ZMinLogonSec) _
  1580.                -((NOT ZSubBoard) * AutoAddSec) : _
  1581.         GOSUB 5135 : _
  1582.         GOSUB 5296 : _
  1583.         WasI = (ZUserSecLevel < OrigMainSec) : _
  1584.         WasJ = (ZUserSecLevel < Temp) : _
  1585.         WasK = (WasI AND WasJ) : _
  1586.         IF WasK THEN _
  1587.            ZOutTxt$ = "you have been locked out of" : _
  1588.            GOTO 5341 _
  1589.         ELSE GOSUB 5375 : _
  1590.              GOTO 5345
  1591. '
  1592. ' **** USER NOT FOUND.  AUTO-ADD TO SUBBOARD IF SUFFICIENT SECURITY ***
  1593. '
  1594.      ZNewUser = ZTrue
  1595.      IF ZSubBoard THEN _
  1596.         AutoAddSec = ZMinLogonSec
  1597.      IF (ZOrigSec >= AutoAddSec) AND _
  1598.         (ZUserFileIndex > 0) AND (ZMainUserFileIndex > 0) THEN _
  1599.         LSET ZUserRecord$ = UserRecordHold$ : _
  1600.         CALL QuickTPut1 ("MEMBER privileges granted in " + ZConfName$) : _
  1601.         MID$(ZUserOption$,3,2) = MKI$(0) : _
  1602.         MID$(ZUserOption$,1,2) = MKI$(0) : _
  1603.         ZActiveUserName$ = LEFT$(UserRecordHold$,30) : _
  1604.         CALL Trim (ZActiveUserName$) : _
  1605.         Temp = -(ZSubBoard * ZDefaultSecLevel) _
  1606.                -((NOT ZSubBoard) * ZUserSecSave) : _
  1607.         CALL SetSysOp : _
  1608.         Temp = -(ZWasA * ZSysopSecLevel) - ((NOT ZWasA) * Temp) : _
  1609.         LSET ZSecLevel$ = MKI$(Temp) : _
  1610.         ZUserSecLevel = Temp : _
  1611.         GOSUB 5375 : _
  1612.         ZPageLength = ZPageLengthDef : _
  1613.         GOSUB 12986 : _
  1614.         GOSUB 12630 : _
  1615.         UpdateDate = ZTrue : _
  1616.         Found = ZTrue : _
  1617.         GOTO 5335
  1618.      IF ZOrigSec >= AutoAddSec THEN _
  1619.         CALL QuickTPut1 ("GUEST privileges granted in " + ZConfName$) : _
  1620.         ZActiveUserFile$ = PrevUser$ : _
  1621.         UpdateDate = ZFalse : _
  1622.         ZUserFileIndex = PrevIndex : _
  1623.         GOSUB 5382 : _
  1624.         ZUserFileIndex = 0 : _
  1625.         GOTO 5345
  1626.      ZNewUser = ZFalse
  1627. * REPLACING old line(s) by new
  1628. 5340 IF ZInConfMenu THEN _
  1629. * ------[ first line different ]------
  1630.         ZOutTxt$ = "conference NOT availble " _    ' Pe 04/24/92
  1631.      ELSE ZOutTxt$ = "no such option"
  1632. * REPLACING old line(s) by new
  1633. * ------[ first line different ]------
  1634. 5341 ZOutTxt$ = ZConfName$ + " " + ZOutTxt$
  1635. '
  1636. ' ****  CANNOT JOIN THE REQUESTED CONFERENCE.  THEREFORE, GO BACK  ***
  1637. '
  1638.      GOSUB 1397
  1639.      ZConfName$ = PrevConfName$
  1640.      ConfFileName$ = ZConfName$
  1641.      IF ZSubBoard THEN _
  1642.         CALL ReadDef (PrevDef$)
  1643.      ZActiveMessageFile$ = PrevMsg$
  1644.      GOSUB 5343
  1645.      ZUserFileIndex = PrevIndex
  1646.      ZActiveUserFile$ = PrevUser$
  1647.      GOSUB 5382
  1648.      ZConfMode = ConfModeSave
  1649.      GOSUB 12987
  1650.      ZAnsIndex = 0
  1651.      ZLastIndex = 0
  1652.      GOTO 5301
  1653. '
  1654. ' ****  RESTORE A MESSAGE BASE   ***
  1655. '
  1656. * REPLACING old line(s) by new
  1657. * ------[ first line different ]------
  1658. 5345 DgsStl$ = ""                                                 'Dgs-ALias
  1659.      WHILE DgsAlias$ = ""                                         'Dgs-ALias
  1660.         CALL AliasDgs (ZConfName$,ZOrigUserNameDgs$,DgsAlias$, _  'Dgs-ALias
  1661.                        DgsStl$,DgsFileName$)                      'Dgs-ALias
  1662.      WEND                                                         'Dgs-ALias
  1663.      DgsAlias$ = ""                                               'Dgs-ALias
  1664.      ZNewsFileName$ = ZWelcomeFileDrvPath$ + ZConfName$ + ".NWS"
  1665.      CALL DeLink (ZConfName$)
  1666.      ConfNameSave$ = ZConfName$
  1667.      ZConfName$ = ZConfName$ + " " + MID$("ConferenceSubboard",1-10*ZSubBoard,10)
  1668.      IF ZGlobalSysop THEN _
  1669.         ZActiveUserName$ = "SYSOP"
  1670.      ZMarkedMsgs$ = ""
  1671.      ZMarkedFiles$ = ""   'Pe 03/21/92
  1672. * REPLACING old line(s) by new
  1673. 5350 IF ZConfName$ <> "MAIN" THEN _
  1674.         CALL QuickTPut1 ("Rejoining " + OrigMsgName$)
  1675. * ------[ first line different ]------
  1676.      ZActiveUserName$ = ZOrigUserNameDgs$                         'Dgs-ALias
  1677.      ZFirstName$ = OrigFirstName$                                 'Dgs-ALias
  1678.      CALL DeLink (ZConfName$)
  1679.      ConfFileName$ = OrigMsgName$
  1680.      ZNewsFileName$ = OrigNewsFileName$
  1681.      ZTurboLogon = ZTrue
  1682.      ZMarkedMsgs$ = ""
  1683.      ZMarkedFiles$ = ""   'Pe 04/18/92
  1684.      ZWasQ = 0
  1685.      ZNewUser = ZFalse
  1686.      ZInConfMenu = ZTrue
  1687.      IF ZActiveUserName$ = "SYSOP" THEN _
  1688.             ZActiveUserName$ = ZSecretName$ : _
  1689.         CALL Trim (ZActiveUserName$)
  1690.      ZConfigFileName$ = ZOrigCnfg$
  1691.      CALL ReadDef (ZConfigFileName$)
  1692.      IF ZOrigMsgFile$ <> ZActiveMessageFile$ THEN _
  1693.         ZActiveMessageFile$ = ZOrigMsgFile$ : _
  1694.         GOSUB 5343
  1695.      IF ZOrigUserFile$ <> ZActiveUserFile$ THEN _
  1696.         GOSUB 5380 : _
  1697.         ZActiveUserFile$ = ZOrigUserFile$ : _
  1698.         ZActiveUserName$ = ZOrigUserName$ : _
  1699.         GOSUB 12598 : _
  1700.         GOSUB 12990 : _
  1701.         IF Found THEN _
  1702.            GOSUB 9500 : _
  1703.            ZMainUserFileIndex = ZUserFileIndex : _
  1704.            CALL SetPrompt : _
  1705.            CALL XferType (2,ZTrue) _
  1706.         ELSE ZUserFileIndex = 0 : _
  1707.              ZMainUserFileIndex = 0
  1708.      CALL UpdtCalr (ZActiveUserName$ +" Exited " + ZConfName$,3)  'Pe 11/07/91
  1709.      ZConfName$ = "MAIN"
  1710.      ConfNameSave$ = ZConfName$
  1711.      GOSUB 2350
  1712.      ZUplds = ZGlobalUplds
  1713.      ZDnlds = ZGlobalDnlds
  1714.      ZDLToday! = ZGlobalDLToday!
  1715.      ZBytesToday! = ZGlobalBytesToday!
  1716.      ZDLBytes! = ZGlobalDLBytes!
  1717.      ZULBytes! = ZGlobalULBytes!
  1718.      ZBankTime = ZGlobalBankTime
  1719. * REPLACING old line(s) by new
  1720. 5380 IF ZUserFileIndex < 1 THEN _
  1721.         RETURN
  1722.      IF ZAdjustedSecurity AND NOT ZSysop THEN _
  1723.         LSET ZSecLevel$ = MKI$(ZUserSecLevel) : _
  1724.         ZUserSecSave = ZUserSecLevel
  1725. * ------[ first line different ]------
  1726.      IF SubBoard THEN _                                           'Dgs-ALias
  1727.         ZActiveUserName$ = ZOrigUserNameDgs$ : _                  'Dgs-ALias
  1728.         ZFirstName$ = OrigFirstName$                              'Dgs-ALias
  1729.      CALL UpdateU (ZFalse)
  1730.      RETURN
  1731. '
  1732. ' *****  RESTORE A USER RECORD  ****
  1733. '
  1734. * DELETING old line(s)
  1735. 5400
  1736. 5410
  1737. * INSERTING new line(s)
  1738. 5450 CALL ShowUsrProfile 'Pe 02/03/90
  1739.      RETURN
  1740. '
  1741. ' *****  Who Uploadled What from Main MEnu  ****
  1742. '
  1743. * REPLACING old line(s) by new
  1744. * ------[ first line different ]------
  1745. 5500 Call WhoDidIt
  1746.      CALL AskMore ("End of Listing",ZTrue,ZFalse,WasX,ZTrue)   'Pe 01/25/92
  1747.      Return
  1748. '
  1749. * DELETING old line(s)
  1750. 5502
  1751. * INSERTING new line(s)
  1752. 5700 RETURN 10595  'Entry point when have double nested gosub  'Pe 01/24/92
  1753. '
  1754. ' *****  V - COMMAND FROM MAIN MENU (VIEW CONFERENCES)  ****
  1755. '
  1756. * REPLACING old line(s) by new
  1757. 8030 MsgTo$ = MID$(ZMsgRec$,37,22)
  1758. * ------[ first line different ]------
  1759.      IF (ZNewUserDGS AND INSTR(MsgTo$,"NEWUSER")) THEN _          'DGS-NEW
  1760.          MsgTo$ = ZActiveUserName$                                'DGS-NEW
  1761.          CALL SmartText(MsgTo$,ZFalse,ZFalse)        'SM091908
  1762.          CALL Trim (MsgTo$)
  1763.      IF ZNumHeaders > 1 THEN _
  1764.         MsgTo$ = MsgTo$ + " et al."
  1765. * REPLACING old line(s) by new
  1766. 8050 MsgFrom$ = MID$(ZMsgRec$,6,31)
  1767.      CALL Trim (MsgFrom$)
  1768.      IF LEN(MsgFrom$) < 23 THEN _
  1769.         MsgFrom$ = MsgFrom$ + _
  1770.                         SPACE$(23 - LEN(MsgFrom$))
  1771.      IF ZUserSecLevel >= ZSecChangeMsg THEN _
  1772.         Year$ = "  Security:" + _
  1773.               STR$(MsgSec) _
  1774.         ELSE Year$ = ""
  1775.      IF MID$(ZMsgRec$,101,1) = "!" THEN _
  1776.         MID$(ZMsgRec$,1,1) = "!"
  1777.      ZOutTxt$ = ZFG1$ + "Msg #: " + _
  1778.           LEFT$(ZMsgRec$,5) + _
  1779.           Year$ + SPACE$ (22-LEN(Year$)) + ZConfName$
  1780.      Year$ = ZFG4$ + "   Sent: " + _
  1781.           MID$(ZMsgRec$,68,8) + _
  1782.           " " + _
  1783.           MID$(ZMsgRec$,59,5)
  1784.      IF NOT ZRet THEN _
  1785.         IF ReadMsgs THEN _
  1786.            CALL QuickTPut1 (ZOutTxt$): _
  1787.            WasX$ = MsgFrom$ : _
  1788. * ------[ first line different ]------
  1789.            CALL NameCaps(WasX$) : _            'SM091909
  1790.            CALL CheckColor (WasX$,SubInHeader$,ZFG2$) : _
  1791.            CALL QuickTPut1 (ZFG2$ + " From:  " + WasX$ + Year$) : _
  1792.            GOSUB 8076 : _
  1793.            WasX$ = MsgTo$ : _
  1794.            CALL NameCaps(WasX$) : _            'SM091909
  1795.            CALL CheckColor (WasX$,SubInHeader$,ZFG3$) : _
  1796.            CALL QuickTPut1 (ZFG3$ + "   To:  " + WasX$ + "  " + ZFG2$ + Year$) : _
  1797.            CALL CheckColor (Subject$,SubInHeader$,ZFG4$) : _
  1798.            CALL NameCaps(Subject$) : _            'SM091909
  1799.            ZOutTxt$ = ZFG4$ + "   Re:  " + _
  1800.                 Subject$ + ZEmphasizeOff$ : _        'SM091909
  1801.            CALL AllCaps (Subject$) _            'SM091909
  1802.         ELSE ZOutTxt$ = ZFG1$ + LEFT$(ZMsgRec$,5) + _
  1803.                   " " + _
  1804.                   MID$(ZMsgRec$,68,5) + _
  1805.                   " " + _
  1806.                   + ZFG2$ + LEFT$(MsgFrom$,18) + _
  1807.                   " -> " + _
  1808.                   + ZFG3$ + LEFT$(MsgTo$,19) + _
  1809.                   " " + _
  1810.                   + ZFG4$ + LEFT$(Subject$,24) + ZEmphasizeOff$ : _
  1811.              CALL CheckColor (ZOutTxt$,SubInHeader$,"") : _
  1812.              GOTO 8080
  1813.      IF QuickScanMsgs OR _
  1814.         ScanMsgs THEN _
  1815.            GOTO 8080 _
  1816.      ELSE GOTO 8077
  1817. * REPLACING old line(s) by new
  1818. * ------[ first line different ]------
  1819. 9000 IF NOT ZJustSearching THEN _   'Pe 05/31/91
  1820.         GOSUB 4656: _
  1821.         CALL SkipLine (1) : _
  1822.         ZLinesInMsg = 1 : _
  1823.         MsgDimXtra = 150 : _
  1824.         REDIM ZOutTxt$(MsgDimXtra) : _
  1825.         Remain$ = "" : _
  1826.         HiLitedLine = 0
  1827.      RecToRead = ZMsgPtr(ZMsgDimIndex,1) + ZNumHeaders - 1
  1828.      FOR WasX = ZNumHeaders + 1 TO VAL(MID$(ZMsgRec$,117,4))
  1829.         WasJ = 1
  1830.         RecToRead = RecToRead + 1
  1831.         GET 1, RecToRead
  1832.         IF ZJustSearching THEN _    'Pe 05/30/91
  1833.            ZOutTxt$ = ZMsgRec$ : _
  1834.            CALL AllCaps (ZOutTxt$) : _
  1835.            HiLitePos = INSTR(ZOutTxt$,SearchString$) : _
  1836.            IF HiLitePos > 0 THEN _
  1837.               SearchCt = 0 : _
  1838.               HiLiteRec = LOC(1) : _
  1839.               WasX = 9999 : _
  1840.               GOTO 9090 _
  1841.            ELSE GOTO 9090
  1842. * REPLACING old line(s) by new
  1843. 9085    IF LEFT$(ZOutTxt$,1) = ZStartOfHeader$ OR _
  1844.            LEFT$(ZOutTxt$,LEN(ZScreenOutMsg$)) = ZScreenOutMsg$ THEN _
  1845.            GOTO 9050
  1846.         ZOutTxt$(ZLinesInMsg) = ZOutTxt$
  1847.         IF Bracketed THEN _
  1848.            Bracketed = ZFalse : _
  1849.            HiLitedLine = ZLinesInMsg
  1850.         ZLinesInMsg = ZLinesInMsg + 1
  1851.         IF ZLinesInMsg > MsgDimXtra THEN _
  1852.            ZLinesInMsg = ZLinesInMsg - 1 : _
  1853.            CALL SkipLine (1) : _
  1854. * ------[ first line different ]------
  1855.            CALL QuickTPut1 ("Message too long.  Truncated to " + STR$(MsgDimXtra) + " lines!") : _
  1856.            ZOutTxt$ = "" : _
  1857.            RETURN
  1858.         IF NOT DontPrint THEN _
  1859.            CALL SmartText(ZoutTxt$,ZFalse,ZFalse) : _    'SM091910
  1860.            GOSUB 12979 : _
  1861.            IF ZRet THEN _
  1862.               ZOutTxt$ = "" : _
  1863.               RETURN _
  1864.            ELSE CALL AskMore ("",ZTrue,ZTrue,ZAnsIndex,ZFalse) : _
  1865.                 IF ZNo THEN _
  1866.                    DontPrint = ZTrue
  1867.         GOTO 9050
  1868. * REPLACING old line(s) by new
  1869. 9090 NEXT
  1870.      IF DontPrint = ZTrue THEN _
  1871.         GOTO 5160
  1872. * ------[ first line different ]------
  1873.      IF ZJustSearching AND HiLitePos > 0 THEN _
  1874.         ZJustSearching = ZFalse : _                   'PE 05/30/91
  1875.         GET 1,ZMsgPtr(ZMsgDimIndex,1) : _
  1876.         GOSUB 8000 : _
  1877.         GOTO 9000
  1878.      ZOutTxt$ = ""
  1879.      RETURN
  1880. '
  1881. ' *  C - COMMAND FROM UTILITY MENU (CLOCK - TIME ON SYSTEM)
  1882. '
  1883. * INSERTING new line(s)
  1884. 9099 GOSUB 9100                          'Pe 02/11/89
  1885.      CALL BankTime
  1886.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue) 'Pe 02/11/89
  1887.      RETURN                              'PE 02/11/89
  1888. * REPLACING old line(s) by new
  1889. 9800 CALL WhosOn (ZMaxNodes)
  1890. * ------[ first line different ]------
  1891.      CLOSE 9                                                         ' CHAT0813
  1892.      CALL AskMore ("",ZTrue,ZFalse,WasX,ZTrue) 'Pe 02/11/89 
  1893.      GOSUB 5344
  1894.      RETURN
  1895. '***       CHAt Mod ***********
  1896. * INSERTING new line(s)
  1897. 9801 IF ZMaxNodes < 2 THEN _                                     'PECHT0603
  1898.      RETURN
  1899.      ZOutTxt$ = "CHAT with another Node  Y,[N] "
  1900.         GOSUB 12999
  1901.      IF NOT ZYes THEN _
  1902.         RETURN
  1903. 9802      CALL CBTrueChat(ZMaxNodes)
  1904.          GOSUB 5344
  1905.        RETURN
  1906. '
  1907. ' *  1 - COMMAND FROM SYSOP MENU (DISPLAY COMMENTS)
  1908. '
  1909. * REPLACING old line(s) by new
  1910. * ------[ first line different ]------
  1911. 10070 ZFileName$ = ZCmntsFile$
  1912.       IF NOT ZStopInterrupts THEN _
  1913.          ZOutTxt$ = "* Ctrl-K(^K) / ^X aborts. ^S suspends, ^Q resumes *" : _
  1914.          GOSUB 12976
  1915.       GOSUB 20150
  1916. '
  1917. ' Delete Comments added here to allow Sysops 4 command to handle BatchUploads 'Pe 09/12/91
  1918. '
  1919.    ZOutTxt$ = "Delete comments (Y,[N])"
  1920.       GOSUB 12995
  1921.       IF ZYes THEN _
  1922.          CALL OpenOutW (ZCmntsFile$)
  1923.       CLOSE 2
  1924.       RETURN
  1925. '
  1926. ' *  U - COMMAND FROM UTILITY MENU (DISPLAY USERS)
  1927. ' *  2 - COMMAND FROM SYSOP MENU (DISPLAY USERS)
  1928. '
  1929. * REPLACING old line(s) by new
  1930. * ------[ first line different ]------
  1931. 10090 ZOutTxt$ = "List - U)sers, R)ecent callers"
  1932.       ZMacroMin = 2
  1933.       CALL SkipLine (1)
  1934.       GOSUB 12930
  1935.       IF ZWasQ = 0 THEN _
  1936.          RETURN
  1937.       CALL AraAllCaps (ZUserIn$(),ZAnsIndex)
  1938.       ON INSTR("UR",ZUserIn$(ZAnsIndex)) + 1 GOTO 10090,10096,10093
  1939. * REPLACING old line(s) by new
  1940. 10391 CALL ChangeInt (ZFalse,"Recover Msg #",0,1,9999)
  1941.       IF ZWasQ = 0 THEN _
  1942.          RETURN
  1943.       MsgToRecover = ZTestedIntValue
  1944.       GOSUB 5344
  1945.       ActionFlag = ZFalse
  1946. * ------[ first line different ]------
  1947.       CALL RecoverMsg (MsgToRecover,FirstMsgRecord,ActionFlag,ZConfName$) 'Pe 06/09/91
  1948.       MsgRecovered = MsgRecovered OR ActionFlag
  1949.       GOTO 10391
  1950. * REPLACING old line(s) by new
  1951. 10392 IF MsgRecovered THEN _
  1952.          ActionFlag = ZTRUE : _
  1953.          GOTO 1900
  1954.       RETURN
  1955. '
  1956. * ------[ first line different ]------
  1957. ' *  4 - COMMAND FROM SYSOP Now BatchUpload File in Maple Version at line 20195
  1958. '
  1959. * DELETING old line(s)
  1960. 10530
  1961. * REPLACING old line(s) by new
  1962. 10553 CALL UpdtCalr ("Time limit exceeded",1)
  1963. * ------[ first line different ]------
  1964.  CALL QuickTPut1 ("Sorry "+ZFirstName$ +" Your time limit has expired")
  1965.       GOTO 10562                                   'Pe 02/03/90
  1966. '
  1967. ' *  Q - COMMAND FROM GLOBAL FUNCTIONS
  1968. '
  1969. * REPLACING old line(s) by new
  1970. * ------[ first line different ]------
  1971. 10560 GOSUB 41000      'Pe 02/04/90
  1972.       IF ZExpertUser THEN ZLogoff$ = "L"
  1973.       IF ZLogoff$ = "L" THEN 10562
  1974. * INSERTING new line(s)
  1975. 10562 GOSUB 9100
  1976.       IF ZUserSecLevel < ZSecExemptFromEpilog THEN _
  1977.            ZFileName$ = ZEpilog$ : _
  1978.            GOSUB 11520
  1979.        If ZLocalUser and ZSysop Then _
  1980.           Goto 10595                              'pe 12/01/91
  1981.       IF ZLocalUserMode OR NOT ZLocalUser THEN _
  1982.          CALL UpdtCalr ("Logged off",1)
  1983.       GOTO 10595
  1984. * REPLACING old line(s) by new
  1985. * ------[ first line different ]------
  1986. 10570 GOSUB 41000    'Pe 02/04/90
  1987.      ZLogoff$ = ""
  1988. IF ZMarkedFiles$ <> "" THEN _
  1989. Call QuickTput1(ZCrLf$ + Chr$(7)+"You Have Marked Files !" + ZCrLF$)  'Pe marked mod
  1990. '
  1991. ZStopInterrupts = ZTrue                        'Pe 04/17/92
  1992. CALL BufFile(ZHelpPath$+"LOGOFF.MNU",X)        'MO 04/13/92
  1993.     ZStopInterrupts = ZFalse                   'Pe 04/17/92
  1994. IF ZTempMaxBank > 0 THEN                                             ' DD062503
  1995.    ZOutTxt$ = "Enter Choice (A,B,C,[G])"                            ' DD062503
  1996. ELSE                                                                 ' DD062503
  1997.    ZOutTxt$ =  "Enter Choice (A,C,[G])"                              ' DD062503
  1998. END IF                                                               ' DD062503
  1999.        GOSUB 12999                  'Pe 04/25/92
  2000.         CALL AllCaps (ZUserIn$)
  2001.         WasX = INSTR("ABCG",ZUserIn$)                                ' DD062503
  2002.         IF ZUserIn$ = "" THEN _
  2003.            GetOut = ZTrue : _
  2004.            GOTO 10562
  2005.     ON WasX GOTO 10571,10574,10572,10573                             ' DD062503
  2006.     GOTO 10573
  2007. * INSERTING new line(s)
  2008. 10571 RETURN
  2009. 10572 ZLogOff$ = "G"
  2010.       GetOut = ZTrue
  2011.       GOTO 1800
  2012. 10573 GetOut = ZTrue
  2013.       ZLogOff$ = "L"     'Pe 02/04/89
  2014.       GOTO 10560
  2015. 10574 GetOut = Ztrue                                                 ' DD062503
  2016.       ZLogOff$ = "L"                                                 ' DD062503
  2017.       IF ZTempMaxBank > 0 THEN _
  2018.        CALL BankTime _
  2019.         Else Call QuickTput1 ("Feature Not Available" )              'Pe 06/28/92
  2020.       GOTO 10560                                                     ' DD062503
  2021. * REPLACING old line(s) by new
  2022. 10595 CALL GetTime
  2023.       GOSUB 13700
  2024. * ------[ first line different ]------
  2025.       IF ZDnldCompleted = ZTrue AND ZAutoEnd = 1 THEN _    'AUTOLOGOFF MOD
  2026. ZAutoLogoffReq = ZTrue : _  'Pe 10/22/91
  2027.       GOSUB 46000  'Pe 02/03/90
  2028.       ZSubParm = 0
  2029.       CALL Carrier
  2030.       IF ZSubParm = -1 THEN _
  2031.          GOTO 10597
  2032.       IF ZConfName$ = OrigMsgName$ THEN _
  2033.          GetOut = ZTrue
  2034.       IF (ZSubBoard AND (NOT GetOut) AND (NOT ZSleepDisconnect)) THEN _
  2035.          GOSUB 5380 : _
  2036.          ZHomeConf$ = "M" : _
  2037.          CALL QuickTPut1 ("Time limit exceeded in " + ZConfName$) : _
  2038.          ZSubBoard = ZFalse : _
  2039.          GOTO 1205
  2040. * REPLACING old line(s) by new
  2041. * ------[ first line different ]------
  2042. 10698 'CALL Muzak (5)
  2043.       IF ZFunctionKey = 22 THEN _
  2044.          GOTO 13545
  2045.       ZOutTxt$ = "Access denied!"
  2046.       GOSUB 12976
  2047.       CALL DelayTime (8 + ZBPS)
  2048.       GOTO 13545
  2049. '
  2050. ' *  M - COMMAND FROM UTILITY MENU (CHANGE MARGINS)
  2051. '
  2052. * REPLACING old line(s) by new
  2053. 10970 IF NOT ZDoorsAvail OR _
  2054.          (ZRequiredRings = 0 AND NOT ZNoDoorProtect) THEN _
  2055.          CALL QuickTPut1 ("No doors available") : _
  2056. * ------[ first line different ]------
  2057.                CALL DelayTime (8 + ZBPS) : _     'Pe 07/09/90
  2058.          RETURN
  2059.       IF ZTimeLock AND 1 AND NOT ZHasDoored THEN _
  2060.          CALL TimeLock : _
  2061.          IF NOT ZOK THEN _
  2062.             RETURN
  2063. * REPLACING old line(s) by new
  2064. 10974 WasA1$ = ZMenu$(5)
  2065. * ------[ first line different ]------
  2066.       ZStackC = ZTrue
  2067.       CALL SubMenu ("Open which door, L)ist" + ZPressEnterExpert$, _
  2068.                     WasA1$,"",".BAT","",_
  2069.                     ZTrue,ZFalse,ZFalse,"",InMenu,ZFalse)
  2070.       IF ZWasQ = 0 THEN _
  2071.          RETURN
  2072.       IF ZSubParm = -1 THEN _
  2073.          RETURN 10595
  2074. * REPLACING old line(s) by new
  2075. 10986 ZWasZ$ = ZFileName$
  2076.       CALL DoorExit (NOT InMenu)
  2077. * ------[ first line different ]------
  2078.       Call QuickTput1 ("Welcome back " + ZFirstName$ + " ...") 'Pe 12/23/91
  2079.       LogIndex = 1                                                'Pe 06/12/92
  2080.       ZWasQ = 0    'Pe 01/03/91
  2081.       RETURN 1230      'Pe 06/28/92
  2082. '
  2083. ' *  5 - COMMAND FROM SYSOP MENU (USER FILE MAINTENANCE)
  2084. '
  2085. * REPLACING old line(s) by new
  2086. 11110   ZOutTxt$ = "D)el  F)ind  M)enu  N)ewPW  P)rnt  R)eset Grfx  C)" _
  2087. * ------[ first line different ]------
  2088.              + ZUserLocation$ + "  Q)uit"
  2089.         CALL TopPrompt
  2090.         ZOutTxt$ = "S)ecLvl  U)ser#  X)fer Cnts  T)ime Used  B)ank Acct"
  2091.         IF ZRestrictByDate THEN _
  2092.            ZOutTxt$ = ZOutTxt$ + _
  2093.                 " $)RegDate"
  2094.         GOSUB 12930
  2095.         IF NOT ScanUsers AND ZWasQ = 0 THEN _
  2096.            GOTO 11310
  2097. * REPLACING old line(s) by new
  2098. 11115   ZWasZ$ = LEFT$(ZUserIn$(ZAnsIndex),1)
  2099.         CALL AllCaps (ZWasZ$)
  2100. * ------[ first line different ]------
  2101.         WasX = INSTR("DNPQFSMR$UXTBC",ZWasZ$)                   'Pe 02/04/92
  2102.         IF ZWasZ$ = "" AND ScanUsers THEN _
  2103.            GOTO 12965
  2104.         ON WasX GOTO 11130,11160,11220,11320,11340,11390,11330, _
  2105.                      11400,11450,11127,11490,11420,11423,11190     'Pe 02/04/92
  2106.         GOTO 11110
  2107. * REPLACING old line(s) by new
  2108. 11160   GOSUB 12800
  2109.         GOTO 11290
  2110. * ------[ first line different ]------
  2111. * REPLACING old line(s) by new
  2112. 11390 GOSUB 11395
  2113. * ------[ first line different ]------
  2114.       LSET ZSecLevel$ = MKI$(WasOF)
  2115.       GOTO 11290
  2116. * REPLACING old line(s) by new
  2117. * ------[ first line different ]------
  2118. 11395 ZOutTxt$ = "New sec level"
  2119.       GOSUB 12932
  2120.       ZWasZ$ = ZUserIn$(ZAnsIndex)
  2121.       WasOF = VAL(ZWasZ$)
  2122.       IF WasOF > ZUserSecLevel THEN _
  2123.          WasOF = ZUserSecLevel
  2124.       RETURN
  2125. '
  2126. ' *  R - COMMAND FROM 5- USER MAINTENANCE OPTIONS (RESET USER GRAPHICS)
  2127. '
  2128. * REPLACING old line(s) by new
  2129. 11420        ' * T - COMMAND FROM 5 - TIME USED
  2130.       Temp = CVI (ZElapsedTime$)
  2131. * ------[ first line different ]------
  2132.            CALL ChangeInt (ZTrue,"Time Used",Temp,-21900,2000)
  2133.       IF ZWasQ <> 0 THEN _
  2134.          LSET ZElapsedTime$ = MKI$(ZTestedIntValue)
  2135.       GOTO 11290
  2136. * REPLACING old line(s) by new
  2137. 12310 GOSUB 12630
  2138.       GOSUB 12800
  2139. * ------[ first line different ]------
  2140.       GOSUB 11395
  2141.       ZTempSecLevel = WasOF
  2142.       CALL SetNewUserDef
  2143.       LSET ZLastDateTimeOn$ = ZCurDate$ + _
  2144.                                 " " + _
  2145.                                 ZTimeLoggedOn$
  2146.       GOSUB 12960
  2147.       CALL AllCaps (ZUserIn$)
  2148.       LSET ZCityState$ = ZUserIn$
  2149.       LSET ZElapsedTime$ = MKI$(0)
  2150.       IF ZStartHash > 1 THEN _
  2151.          MID$(ZUserRecord$,ZStartHash,ZLenHash) = HashValue$
  2152.       IF ZStartIndiv > 1 THEN _
  2153.          MID$(ZUserRecord$,ZStartIndiv,ZLenIndiv) = ZIndivValue$
  2154.       GOSUB 9440
  2155. * DELETING old line(s)
  2156. 12311
  2157. * REPLACING old line(s) by new
  2158. 12932 CALL PopCmdStack
  2159.       GOTO 12997
  2160. '
  2161. * ------[ first line different ]------
  2162. ' *  GET CITY AND STATE FROM NEWUSER
  2163. '
  2164. * REPLACING old line(s) by new
  2165. * ------[ first line different ]------
  2166. 13545 IF ZLocalUser and ZSysop Then _
  2167.        goto 13549                          'Pe 12/01/91
  2168.       CALL UpdateC
  2169. * REPLACING old line(s) by new
  2170. 13555 ZActiveMessageFile$ = ZOrigMsgFile$
  2171.       GOSUB 12986
  2172.       GOSUB 5344
  2173.       GET 1,ZNodeRecIndex
  2174.       MID$(ZMsgRec$,57,1) = "I"
  2175.       MID$(ZMsgRec$,40,2) = " 0"
  2176.       MID$(ZMsgRec$,72,2) = " 0"
  2177.       IF MID$(ZMsgRec$,101,2) = ZCarriageReturn$+ZCarriageReturn$ THEN _
  2178.          MID$(ZMsgRec$,101,2) = " 0"
  2179.       PUT 1,ZNodeRecIndex
  2180.       GOSUB 12985
  2181.       CLOSE 1,2,4,5
  2182.       IF NOT ZFossil THEN _
  2183.          CLOSE 3
  2184.       IF ZRecycleToDos THEN _
  2185. * ------[ first line different ]------
  2186.          GOTO 204                    'Pe 06/26/92
  2187.       RUN 100
  2188. * REPLACING old line(s) by new
  2189. 13600 CLS
  2190.       LOCATE ,,0
  2191.       CALL PScrn (ZWasDF$ + " file missing/invalid.  Run CONFIG")
  2192.       CALL DelayTime (3)
  2193. * ------[ first line different ]------
  2194.       GOTO 204                       'Pe 06/26/92
  2195. * REPLACING old line(s) by new
  2196. 20140 CALL GetArc
  2197.       IF ZSubParm = -1 THEN _
  2198. * ------[ first line different ]------
  2199.          GOTO 10595                  'PE 10/22/91
  2200.       IF ZDenyAccess THEN _
  2201.          GOTO 1386
  2202.       RETURN
  2203. '
  2204. ' * GO TO THE FILE SYSTEM TO LIST THE SYSOP'S COMMENTS
  2205. '
  2206. * REPLACING old line(s) by new
  2207. 20190 ZFileSysParm = 9
  2208. * ------[ first line different ]------
  2209.       GOTO 20200
  2210. '
  2211. ' * Go To the File System to Handle BATCH UPLOADS
  2212. '
  2213. * INSERTING new line(s)
  2214. 20195 ZFileSysParm = 10
  2215. '
  2216. * REPLACING old line(s) by new
  2217. 20200 CALL FileSystem
  2218. * ------[ first line different ]------
  2219.  IF ZDnldCompleted AND ZAutoEnd = 1 THEN _
  2220.                           GOTO 20235                   'AUTO Loggoff Mod
  2221.            ON ZFileSysParm GOTO 20205, _
  2222.                                 20210, _
  2223.                                 20215, _
  2224.                                 20220, _
  2225.                                 20225, _
  2226.                                 20230, _
  2227.                                 20235
  2228. * REPLACING old line(s) by new
  2229. 23000 GET 1,1
  2230.       HighMsgNumber = VAL(LEFT$(ZMsgRec$,8))
  2231.       AutoAddSec   = CVI(MID$(ZMsgRec$,9,2))
  2232.       CallsToDate! = VAL(MID$(ZMsgRec$,11,10))
  2233.       ZMsgSecCats$ = LEFT$("U",-(MID$(ZMsgRec$,21,1) <> "/")) + _
  2234.                      LEFT$("R",-(MID$(ZMsgRec$,22,1) <> "/")) + _
  2235. * ------[ first line different ]------
  2236.                      LEFT$("P",-(MID$(ZMsgRec$,23,1) <> "/")) + "E"
  2237.       IF ZUserSecLevel >= ZSecKillAny THEN _
  2238.           ZMsgSecCats$ = "URPE"
  2239.       IF ZMsgSecCats$ = "E" THEN _
  2240.          ZMsgSecCats$ = "UE"
  2241.       CurUserCount = VAL(MID$(ZMsgRec$,57,5))
  2242.       FirstMsgRecord = VAL(MID$(ZMsgRec$,68,7))
  2243.       ZNextMsgRec = VAL(MID$(ZMsgRec$,75,7))
  2244.       HighestMsgRecord = VAL(MID$(ZMsgRec$,82,7))
  2245.       IF ZActiveMessageFile$ = ZOrigMsgFile$ THEN _
  2246.          ZMaxNodes = VAL(MID$(ZMsgRec$,127))
  2247.       RETURN
  2248. * REPLACING old line(s) by new
  2249. * ------[ first line different ]------
  2250. 30000 RETURN
  2251. '
  2252. ' * CALCULATE TIME REMAINING FOR USER
  2253. '
  2254. * DELETING old line(s)
  2255. 30100
  2256. 30200
  2257. * REPLACING old line(s) by new
  2258. 42700 CALL SkipLine (1)
  2259. * ------[ first line different ]------
  2260.       'CALL QuickTPut1 ("TurboKey: act on 1 char command without waiting for [ENTER]")
  2261.       'ZOutTxt$ = "Want TurboKeys (Y,[N])"
  2262.       'GOSUB 12999
  2263.       ZTurboKeyUser = NOT ZYes
  2264.       CALL Toggle (8)        'Pe 05/04/92
  2265.       RETURN
  2266. '
  2267. ' *  F - COMMAND FROM UTILITY MENU (FILE Transfer DEFALUT MODE)
  2268. ' *  FILE Transfer DEFAULT SET FOR NEW USERS
  2269. '
  2270. * REPLACING old line(s) by new
  2271. * ------[ first line different ]------
  2272. 43000 ZPrevPUI$ = ""    'ANSIEd
  2273.       GOSUB 43005
  2274.       GOTO 43022
  2275. * REPLACING old line(s) by new
  2276. * ------[ first line different ]------
  2277. 43022 ZPrevPUI$ = ""                   'ANSIEd
  2278.       IF ZEmphasizeOnDef$ = "" THEN _
  2279.          RETURN
  2280.              ZOutTxt$ = "Do you want colorized prompts ("    'SM091912
  2281.       IF ZWasGR = 2 THEN _                'SM091912
  2282.          ZOutTxt$ = ZOutTxt$ + "[Y],N)" _        'SM091912
  2283.       ELSE _                        'SM091912
  2284.          ZOutTxt$ = ZOutTxt$ + "Y,[N])"            'SM091912
  2285.       GOSUB 12999
  2286.       IF ZWasGR <> 2 THEN _                'SM091912
  2287.          ZHiLiteOff = ZYes _                'SM091912
  2288.       ELSE _                        'SM091912
  2289.          ZHiLiteOff = NOT ZNo                'SM091912
  2290.       CALL Toggle(5)
  2291.       RETURN
  2292. * REPLACING old line(s) by new
  2293. 45010 ZHidden = ZTrue
  2294.       GOSUB 12995
  2295.       ZHidden = ZFalse
  2296.       RETURN
  2297. * ------[ first line different ]------
  2298. '
  2299. '  * Maple AutoLogoff Routines ***
  2300. '
  2301. * INSERTING new line(s)
  2302. 46000 ZSubParm = 1
  2303.       If ZAutoLogoffReq = ZFalse Then _
  2304.        ZAutoEnd = 0 : _
  2305.         Return 1205
  2306. ZOutTxt$ = "Press [G] for instant Logoff "
  2307.           ZTurboKey = 2
  2308.       Call TGet
  2309.        IF ZUserIn$ = "G" or ZUserIn$ = "g" THEN _
  2310.           Goto 46050
  2311.            IF ZWasQ = 0  THEN _
  2312.             CALL QuickTPut("Log Off Aborted...",1) : _
  2313.             ZAutoLogoffReq = ZFalse : _
  2314.            ZAutoEnd = 0 : _
  2315.         RETURN 1205
  2316. 46050 GetOut = ZTrue
  2317.       RETURN 10597
  2318.